//例如,personalDBPath=@"E:\temp\TestDB.mdb", featureClassName="newF"
public void CreateFeatureClass(string personalDBPath, string featureClassName)
{

//创建地理坐标系对象
ISpatialReferenceFactory spatialReferenceFactory = new SpatialReferenceEnvironmentClass();
ISpatialReference spatialReference = spatialReferenceFactory.CreateESRISpatialReferenceFromPRJFile(@"E:\temp\Suzhou_1954_3_Degree_GK_CM_120E.prj");//.CreateGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_WGS1984);

ESRI.ArcGIS.Geodatabase.IGeometryDef geoDef = new ESRI.ArcGIS.Geodatabase.GeometryDefClass();
ESRI.ArcGIS.Geodatabase.IGeometryDefEdit geoEdit = (ESRI.ArcGIS.Geodatabase.IGeometryDefEdit)geoDef;
geoEdit.GeometryType_2 = ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolygon;
geoEdit.SpatialReference_2 = spatialReference;

//字段集.
ESRI.ArcGIS.Geodatabase.IFields fields = new ESRI.ArcGIS.Geodatabase.FieldsClass();
ESRI.ArcGIS.Geodatabase.IFieldsEdit fieldsEdit = (ESRI.ArcGIS.Geodatabase.IFieldsEdit)fields;

//逐一添加字段.

ESRI.ArcGIS.Geodatabase.IField field = new ESRI.ArcGIS.Geodatabase.FieldClass();
ESRI.ArcGIS.Geodatabase.IFieldEdit fieldEdit = (ESRI.ArcGIS.Geodatabase.IFieldEdit)field;
fieldEdit.Name_2 = "SHAPE";
fieldEdit.Type_2 = ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeGeometry;
fieldEdit.GeometryDef_2 = geoDef;
fieldsEdit.AddField(field);

field = new ESRI.ArcGIS.Geodatabase.FieldClass();
fieldEdit = (ESRI.ArcGIS.Geodatabase.IFieldEdit)field;
fieldEdit.Name_2 = "WKT";
fieldEdit.Type_2 = ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeString;
fieldsEdit.AddField(field);

field = new ESRI.ArcGIS.Geodatabase.FieldClass();
fieldEdit = (ESRI.ArcGIS.Geodatabase.IFieldEdit)field;
fieldEdit.Name_2 = "SLM10";
fieldEdit.Type_2 = ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeString;
fieldsEdit.AddField(field);

field = new ESRI.ArcGIS.Geodatabase.FieldClass();
fieldEdit = (ESRI.ArcGIS.Geodatabase.IFieldEdit)field;
fieldEdit.Name_2 = "SLM20";
fieldEdit.Type_2 = ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeString;
fieldsEdit.AddField(field);

field = new ESRI.ArcGIS.Geodatabase.FieldClass();
fieldEdit = (ESRI.ArcGIS.Geodatabase.IFieldEdit)field;
fieldEdit.Name_2 = "SLM40";
fieldEdit.Type_2 = ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeString;
fieldsEdit.AddField(field);

//通过已有工作空间创建.
ESRI.ArcGIS.Geodatabase.IWorkspaceFactory wsf = new ESRI.ArcGIS.DataSourcesGDB.AccessWorkspaceFactory();
ESRI.ArcGIS.Geodatabase.IFeatureWorkspace fws = (ESRI.ArcGIS.Geodatabase.IFeatureWorkspace)wsf.OpenFromFile(personalDBPath, 0);
ESRI.ArcGIS.Geodatabase.IFeatureClass fc = fws.CreateFeatureClass(featureClassName, fields, null, null, ESRI.ArcGIS.Geodatabase.esriFeatureType.esriFTSimple, "SHAPE", null);
}

转载于:https://www.cnblogs.com/khfang/p/7685285.html

ArcEngine在个人地理数据库下创建要素类相关推荐

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

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

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

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

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

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

  4. linux c创建文件错误的是,在linux下创建一个类怎么出现会出现这种错误,我感觉是没有错误的,那位高手过来看看...

    下面文件有KenoComm.h ,KenoComm.c  ,b.c三个文件,还有Makefile文件. 类CKenoComm定义在KenoComm.c中,b.c调用了类CKenoComm. 我在lin ...

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

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

  6. AE二次开发中几个功能速成归纳(符号设计器、创建要素、图形编辑、属性表编辑、缓冲区分析)...

    /** 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用.** -------------------------------------------------- ...

  7. ArcGIS无法完成创建要素任务,坐标测量值超出范围

    ArcGIS无法完成创建要素任务,坐标/测量值超出范围 解决办法汇总: 1. 将其导出shp文件再导入地理数据库: 具体:导出Shp文件后再导入.设置工具XY属性域环境.新建要素类 2.使用合并工具, ...

  8. 导入要素类到要素数据集当中(C++)(ArcObject)史上最快

    //导入要素类到要素数据集IDatasetContainerPtr ipDatasetContainer = ipFeatureDataset;IDatasetPtr ipInDataset = ip ...

  9. 利用ArcGIS创建要素与表之间的关系类并发布带有关系数据表的要素服务

    在GIS实际应用中,可能会遇到这样的问题,比如现有一个面要素表示宗地,它有一个或者多个业务属性表包含了宗地的属性信息,如果将这些信息逐个添加到一个面要素的属性中分别作为要素的字段,当字段特别多时这种方 ...

最新文章

  1. 【面试 struts2】【第三篇】struts2的问题
  2. MindMotion MM32F3277 SoftI2C功能测试
  3. 利用反射搭建orm框架
  4. 2021-01-07 Python Opencv转换颜色空间 RGB转为HSV
  5. grafana授权公司内部邮箱登录 ldap配置
  6. sql server 保留小数,向上保留指定位数的小数,仅记录,勿看。
  7. pyquery获取不到网页完整源代码_python动态网页爬取:爬取pexel上的图片
  8. php隐藏做上传图片,php做图片上传功能
  9. 小学生四则运算JAVA
  10. 有未经处理的异常(在 xx.exe 中): 堆栈 Cookie 检测代码检测到基于堆栈的缓冲区溢出。
  11. 【汽车总线技术】CAN FD与CAN网络共存的解决方案
  12. oc 之中的 汉字字符串转化成为拼音 汉字字符串的排序
  13. 正则表达式——常用量词
  14. 有效期5年,亳州市推进知识产权高质量发展扶持政策发布
  15. 文件服务器 tmp文件夹,Linux管理临时文件tmpfiles
  16. oracle pdb监听配置,oracle 12c 监听
  17. 授人以渔系列----如何win10安装ffmpeg
  18. python编程实现人民币和美元的互相转换_java人民币转换美元的实验报告
  19. Unity 3D 菜单栏快捷键详解
  20. 知识的边界----读书笔记

热门文章

  1. Python在Linux地址已在使用,python在linux下的使用
  2. git21天打卡day19-新建远程仓库
  3. 你知道这5年我怎么过的吗!谈谈我做测试开发的这些年……【总结】
  4. FunTester框架Redis压测预备
  5. 高中同窗被叫“码子”的!如今转行软件测试,不止是年轻,还有拼搏的勇气
  6. php psd图层重命名,ps批量修改图层名字的脚本(附批量替换方法)
  7. mysql 数据库 自动备份_MYSQL数据库自动备份
  8. java并行调度_java并行调度框架封装及示例
  9. 【matlab】结构体
  10. seafile自建服务器,自建云盘系列——Seafile (支持分布式存储)