• 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         }  
  • 相关阅读:
    Shapelib库编译
    CheckedComboBoxEdit实现单选
    VS2019卡在创建Windows恢复点
    ArcGIS Add-In 创建自定义菜单
    使用DevExpress展示地图—加载SHP
    未能从程序集ESRI.ArcGIS.AddIns.SDK加载任务"ValidateAddInXMLTask"
    没有为该对象定义无参数的构造函数
    RichEditControl自定义高亮语法
    Java解析Word模版,替换${}的值
    64.QT-单播、广播、组播
  • 原文地址:https://www.cnblogs.com/jobgeo/p/7118522.html
Copyright © 2020-2023  润新知