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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人