转自 在geodatabase中创建要素集

//在数据集中创建要素private void menuItem25_Click(object sender, System.EventArgs e){CreateFClassInPDB(@"C:\ArcGIS\ArcTutor\BuildingaGeodatabase\Montgomery.mdb");}public static void CreateFClassInPDB(string filePath){string shapeFieldName="shape";IFeatureWorkspace pFWS;try{pFWS=openPDB(filePath);//IEnumDataset pDatasets;//pDatasets=pWS.get_Datasets(esriDatasetType.esriDTFeatureDataset);

IFeatureDataset pFeatureDataset=pFWS.OpenFeatureDataset("Water");//MessageBox.Show(pFeatureDataset.Name);// IDataset pDataset=pDatasets.Next();// IFeatureDataset pFeatureDataset=pDataset as IFeatureDataset;

IGeoDataset pGeoDataset=pFeatureDataset as IGeoDataset;IFields pFields = null;IFieldsEdit pFieldsEdit = null;pFields = new FieldsClass();pFieldsEdit=pFields as IFieldsEdit;pFieldsEdit.FieldCount_2=2;IField pField = null;IFieldEdit pFieldEdit = null;//Make the shape field it will need a geometry definition, with a spatial reference

pField=new FieldClass();pFieldEdit=pField as IFieldEdit;pFieldEdit.Name_2=shapeFieldName;pFieldEdit.Type_2=esriFieldType.esriFieldTypeGeometry;IGeometryDef pGeomDef = null;IGeometryDefEdit pGeomDefEdit = null;pGeomDef = new GeometryDefClass();pGeomDefEdit =pGeomDef as IGeometryDefEdit;pGeomDefEdit.GeometryType_2=esriGeometryType.esriGeometryPolygon;pGeomDefEdit.SpatialReference_2=pGeoDataset.SpatialReference;//get the spatial reference

pFieldEdit.GeometryDef_2=pGeomDefEdit;//pFieldsEdit.AddField(pField);

pFieldsEdit.set_Field(0,pField);//Add another miscellaneous text field

pField = new FieldClass();pFieldEdit = pField as IFieldEdit;pFieldEdit.Length_2=30;pFieldEdit.Name_2="TextField";pFieldEdit.Type_2=esriFieldType.esriFieldTypeString;//pFieldsEdit.AddField(pField);

pFieldsEdit.set_Field(1,pField);//pFeatureDataset.CreateFeatureClass("test",pFields,null,null,esriFeatureType.esriFTSimple,"Shape","");

UID pUID;pUID = new UIDClass();pUID.Value="esriGeoDatabase.Feature";//pFeatureDataset.CreateFeatureClass("test",pFields,pUID,null,esriFeatureType.esriFTSimple,"Shape","");

pFeatureDataset.CreateFeatureClass("test",pFields,pUID,null,esriFeatureType.esriFTSimple,"Shape","");MessageBox.Show("创建成功");}catch(Exception e){MessageBox.Show(e.Message);}}//创建shapefile文件public static void createShapeFile(String folderName,String shapeName){if(folderName==""||shapeName=="") return;string shapeFieldName="shape";try{IFeatureWorkspace pFWS = null;IWorkspaceFactory pWorkspaceFactory = null;pWorkspaceFactory = new ShapefileWorkspaceFactoryClass();//if(pWorkspaceFactory.IsWorkspace(folderName)==false) return;

pFWS=pWorkspaceFactory.OpenFromFile(folderName,0) as IFeatureWorkspace;IFields pFields = null;IFieldsEdit pFieldsEdit = null;pFields = new FieldsClass();pFieldsEdit=pFields as IFieldsEdit;IField pField = null;IFieldEdit pFieldEdit = null;//Make the shape field it will need a geometry definition, with a spatial reference

pField=new FieldClass();pFieldEdit=pField as IFieldEdit;pFieldEdit.Name_2=shapeFieldName;pFieldEdit.Type_2=esriFieldType.esriFieldTypeGeometry;IGeometryDef pGeomDef = null;IGeometryDefEdit pGeomDefEdit = null;pGeomDef = new GeometryDefClass();pGeomDefEdit =pGeomDef as IGeometryDefEdit;pGeomDefEdit.GeometryType_2=esriGeometryType.esriGeometryPolygon;pGeomDefEdit.SpatialReference_2=new UnknownCoordinateSystemClass();pFieldEdit.GeometryDef_2=pGeomDefEdit;pFieldsEdit.AddField(pField);//Add another miscellaneous text field

pField = new FieldClass();pFieldEdit = pField as IFieldEdit;pFieldEdit.Length_2=30;pFieldEdit.Name_2="TextField";pFieldEdit.Type_2=esriFieldType.esriFieldTypeString;pFieldsEdit.AddField(pField);IFeatureClass pFeatClass = null;pFeatClass = pFWS.CreateFeatureClass(shapeName, pFields, null, null,esriFeatureType.esriFTSimple, shapeFieldName, "");MessageBox.Show("名为"+shapeName+"的shape文件创建成功");}catch(Exception e){MessageBox.Show(e.Message);}} 

转载于:https://www.cnblogs.com/arxive/p/6655669.html

GDB中创建要素数据集相关推荐

  1. arcmap新建要素_创建要素数据集

    在 Catalog 目录树中,右键单击要在其中创建新要素数据集的地理数据库. 单击新建 > 要素数据集. 输入该要素数据集的名称. 导航到想要使用的空间参考.也可以单击导入,然后导航到将该空间参 ...

  2. ArcGIS Pro创建文件地理数据库、要素数据集、要素类

    首先,和大家介绍一下什么是地理数据库.地理数据库(Geodatabase)是一种面向对象的空间数据模型,能够对矢量.栅格.不规格格网.网络等空间数据集进行统一的描述和存储,也就是说它是保存各种数据集的 ...

  3. ArcGIS GDB中要素类不可编辑

    要编辑存储于gdb中的要素类时,提示"no editable layers". 图层警告"check to see that you have the appropria ...

  4. ArcEngine新建文件地理数据库及其要素数据集,要素数据集加载(20190809)

    1.需求 为了完成拓扑分析模块,需要在系统中新增创建文件地理数据库.要素数据集并加载要素数据集中的数据一系列功能. 2.设计思路 很简单,和ArcGIS中新建文件地理数据库.导入数据.加载数据的功能一 ...

  5. ArcGIS 网络分析[8.2] 资料2 使用IDatasetContainer2接口的CreateDataset方法创建网络数据集...

    上节提及如何使用IDatasetContainer2接口访问到网络数据集,上例可以封装为一个方法. 这节就使用IDatasetContainer2接口(Geodatabase类库)的CreateDat ...

  6. arcmap新建要素_ArcGIS创建要素类

    在使用ARCGIS软件进行工作时,免不了要建立地理数据库和要素类之类的.一下是我创建文件地理数据库并在数据库中创建要素类写相关步骤: 1.启动软件,可以使用ARCCatalog直接进行创建也可以使用A ...

  7. arcpy获取gdb/Dataset/featureClass中所有要素个数:(地理国情监测)

    arcpy获取gdb/Dataset/featureClass中所有要素个数:(地理国情监测) coding = 'utf-8' import os import arcpy #Author By A ...

  8. 地理国情监测,arcpy将文件夹多个gdb的要素数据集Dataset下的要素类featureClass,使用FeatureClassToShapefile_conversion转换成shapefile

    地理国情监测,arcpy将文件夹多个gdb的要素数据集Dataset下的要素类featureClass,使用FeatureClassToShapefile_conversion转换成shapefile ...

  9. gdb -iex_如何使用IEX Cloud,Matplotlib和AWS在Python中创建自动更新数据可视化

    gdb -iex Python is an excellent programming language for creating data visualizations. Python是用于创建数据 ...

最新文章

  1. mysql查询索引like_通过索引查询慢速搜索LIKE%MYSQL
  2. 从强提醒说起——社交场景下的万有“隐力”
  3. jzoj6305-最小值【线段树,dp,双端链表】
  4. android tv 蓝牙服务_打电话、看电话,听清大千世界,不单只有助听器,力斯顿的尖端配件“无线通”“TV伴侣”了解一下。...
  5. 面试精讲之面试考点及大厂真题 - 分布式专栏 16 数据库如何做分库分表,读写分离
  6. MFC中由左键单击模拟左键双击引起的问题
  7. 程序员面试金典——11.2变位词排序
  8. OpenCV配置教程
  9. Win10任务栏无响应解决方法集锦
  10. bzoj1698 / P1606 [USACO07FEB]白银莲花池Lilypad Pond
  11. div css切图在线
  12. 自定义View之仿QQ运动步数进度效果
  13. MTBF平均故障间隔时间
  14. 原生JS购物车---cookie应用
  15. open falcon mysql参数_open-falcon 监控MySQL及自定义监控指标
  16. 0开始学py爬虫(学习笔记)
  17. 2017年的最后一天
  18. 8款非常强大的国产软件,不知道太可惜
  19. java 界面线性布局_LinearLayout(线性布局)详解
  20. 【转载】利用ArcGIS Engine 二次开发的使用和总结

热门文章

  1. as模拟器文件夹路径,Android Studio 配置模拟器AVD存放路径(默认在c盘,解决c盘空间不够问题)...
  2. linux man使用方法 和centos安装中文man包
  3. 风格化图像_CVPR2019:基于神经网络纹理转换的图像超分辨率
  4. ffmpeg调用directshow camera 并sdl渲染
  5. oss按量付费_ACP云计算笔记—VPCamp;OSS
  6. html 换行_李亚涛:清除HTML所有格式并且删除换行与回车,只显示文本
  7. 【kafka】在 Kafka Streams 中启用 Exactly-Once
  8. 【Elasticsearch】es IK分词器的安装
  9. 【lucene】lucene自定义评分
  10. 【Java】String hashCode 这个数字 31