CreateMemoryFeatureClass
2017-07-04 21:04
323 查看
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 }
相关文章推荐
- Error: Failed to create feature class. Table already registered
- IFeatureWorkspace.CreateFeatureClass on ArcServer
- 关于AE中IFeatureWorkspace接口的CreateFeatureClass方法
- AE CreateFeatureClass 创建shp. 删除shp. 向shp中添加要素
- Insert Features using Ifeatureclass.createFeaturebuffer method
- AE CreateFeatureClass 创建shp. 删除shp. 向shp中添加要素
- CreateFeatureClass 异常,尝试读取或写入受保护的内存 Access
- Insert Features using IFeatureclass.createfeature method
- AE CreateFeatureClass 创建shp. 删除shp. 向shp中添加要素
- CreateFeatureClass COM异常
- AE CreateFeatureClass 创建shp. 删除shp. 向shp中添加要素
- Cannot create JDBC driver of class '' for connect URL 'null'问题解决
- 基于linux-2.6.35的class_create,device_create解析 (可自动生成设备文件)
- Geodatabase中的featureclass无法在ArcMap中显示的解决
- book1 unit2 after-class reading 1 : Memory and the Human Brain
- 错误:created a ThreadLocal with key of type ……but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
- 添加SHP文件到SDE中指定FeatureClass中(方法二)
- class_create & class_device_create
- 一种新型内存SCM(Storage Class Memory)的简单介绍
- 使用TOMCAT5.5连接池连接mysql(解决Cannot create JDBC driver of class '' for connect URL 'null')