zoukankan      html  css  js  c++  java
  • CreateMemoryFeatureClass

     1 public static IFeatureClass CreateMemoryFeatureClass(  
     2             ISpatialReference spatialReference, esriGeometryType geometryType, string name = "Temp")  
     3         {  
     4             // 创建内存工作空间  
     5             IWorkspaceFactory pWSF = new InMemoryWorkspaceFactoryClass();  
     6             IWorkspaceName pWSName = pWSF.Create("", "Temp", null, 0);  
     7             IName pName = (IName)pWSName;  
     8             IWorkspace memoryWS = (IWorkspace)pName.Open();  
     9   
    10             IField field = new FieldClass();  
    11             IFields fields = new FieldsClass();  
    12             IFieldsEdit fieldsEdit = fields as IFieldsEdit;  
    13             IFieldEdit fieldEdit = field as IFieldEdit;  
    14   
    15   
    16             fieldEdit.Name_2 = "OBJECTID";  
    17             fieldEdit.Type_2 = esriFieldType.esriFieldTypeOID;  
    18             fieldEdit.IsNullable_2 = false;  
    19             fieldEdit.Required_2 = false;  
    20             fieldsEdit.AddField(field);  
    21   
    22             field = new FieldClass();  
    23             fieldEdit = field as IFieldEdit;  
    24             IGeometryDef geoDef = new GeometryDefClass();  
    25             IGeometryDefEdit geoDefEdit = (IGeometryDefEdit)geoDef;  
    26             geoDefEdit.AvgNumPoints_2 = 5;  
    27             geoDefEdit.GeometryType_2 = geometryType;  
    28             geoDefEdit.GridCount_2 = 1;  
    29             geoDefEdit.HasM_2 = false;  
    30             geoDefEdit.HasZ_2 = false;  
    31             geoDefEdit.SpatialReference_2 = spatialReference;  
    32             fieldEdit.Name_2 = "SHAPE";  
    33             fieldEdit.Type_2 = esriFieldType.esriFieldTypeGeometry;  
    34             fieldEdit.GeometryDef_2 = geoDef;  
    35             fieldEdit.IsNullable_2 = true;  
    36             fieldEdit.Required_2 = true;  
    37             fieldsEdit.AddField(field);  
    38   
    39             field = new FieldClass();  
    40             fieldEdit = field as IFieldEdit;  
    41             fieldEdit.Name_2 = "Code";  
    42             fieldEdit.Type_2 = esriFieldType.esriFieldTypeSmallInteger;  
    43             fieldEdit.IsNullable_2 = true;  
    44             fieldsEdit.AddField(field);  
    45   
    46             //创建要素类  
    47             IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)memoryWS;  
    48             IFeatureClass featureClass = featureWorkspace.CreateFeatureClass(  
    49                 name, fields, null, null, esriFeatureType.esriFTSimple, "SHAPE", "");  
    50   
    51             return featureClass;  
    52         }  
  • 相关阅读:
    软件工程实践2017结对项目——第一次作业
    软件工程实践2017第二次作业
    软件工程实践2017第一次作业
    [LeetCode] 72. Edit Distance(最短编辑距离)
    [LeetCode] 342. Power of Four(位操作)
    [LeetCode] 477. Total Hamming Distance(位操作)
    [LeetCode] 421. Maximum XOR of Two Numbers in an Array(位操作)
    [LeetCode] 260. Single Number III(位操作)
    [LeetCode] 137. Single Number II (位操作)
    IntelliJ IDEA快捷键
  • 原文地址:https://www.cnblogs.com/jobgeo/p/7118522.html
Copyright © 2011-2022 走看看