ArcEngine创建要素类_线类型

        public ESRI.ArcGIS.Geodatabase.IFeatureClass CreateFeatureClassForLine(ESRI.ArcGIS.Geodatabase.IWorkspace2 workspace, ESRI.ArcGIS.Geodatabase.IFeatureDataset featureDataset, System.String featureClassName){ESRI.ArcGIS.esriSystem.UID CLSID = null;ESRI.ArcGIS.esriSystem.UID CLSEXT = null;System.String strConfigKeyword = null;if (featureClassName == "") return null; // name was not passed in
ESRI.ArcGIS.Geodatabase.IFeatureClass featureClass;ESRI.ArcGIS.Geodatabase.IFeatureWorkspace featureWorkspace = (ESRI.ArcGIS.Geodatabase.IFeatureWorkspace)workspace; // Explicit Castif (workspace.get_NameExists(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTFeatureClass, featureClassName)) //feature class with that name already exists
            {featureClass = featureWorkspace.OpenFeatureClass(featureClassName);return featureClass;}// assign the class id value if not assignedif (CLSID == null){CLSID = new ESRI.ArcGIS.esriSystem.UIDClass();CLSID.Value = "esriGeoDatabase.Feature";//CLSID.Value = "esriGeometryType.esriGeometryPolyline";
            }ESRI.ArcGIS.Geodatabase.IObjectClassDescription objectClassDescription = new ESRI.ArcGIS.Geodatabase.FeatureClassDescriptionClass();ESRI.ArcGIS.Geodatabase.IFields fields = null;// if a fields collection is not passed in then supply our ownif (fields == null){// create the fields using the required fields methodfields = objectClassDescription.RequiredFields;ESRI.ArcGIS.Geodatabase.IFieldsEdit fieldsEdit = (ESRI.ArcGIS.Geodatabase.IFieldsEdit)fields; // Explicit CastESRI.ArcGIS.Geodatabase.IField field = new ESRI.ArcGIS.Geodatabase.FieldClass();// create a user defined text fieldESRI.ArcGIS.Geodatabase.IFieldEdit fieldEdit = (ESRI.ArcGIS.Geodatabase.IFieldEdit)field; // Explicit Cast// setup field propertiesfieldEdit.Name_2 = "ZBDID";fieldEdit.Type_2 = ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeString;fieldEdit.IsNullable_2 = true;fieldEdit.AliasName_2 = "坐标编号";fieldEdit.DefaultValue_2 = "0";fieldEdit.Editable_2 = true;fieldEdit.Length_2 = 100;// add field to field collection
                fieldsEdit.AddField(field);fields = (ESRI.ArcGIS.Geodatabase.IFields)fieldsEdit; // Explicit Cast
            }System.String strShapeField = "";// locate the shape fieldfor (int j = 0; j < fields.FieldCount; j++){if (fields.get_Field(j).Type == ESRI.ArcGIS.Geodatabase.esriFieldType.esriFieldTypeGeometry){//strShapeField = fields.get_Field(j).Name;IField shapeField = fields.get_Field(j);strShapeField = fields.get_Field(j).Name;IGeometryDef geometryDef = shapeField.GeometryDef;IGeometryDefEdit geometryDefEdit = (IGeometryDefEdit)geometryDef;// Alter the feature class geometry type to lines (default is polygons).geometryDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPolyline;  geometryDefEdit.HasM_2 = true;//true 则带有Z坐标,false 不带Z坐标geometryDefEdit.GridCount_2 = 1;// Set the first grid size to zero and allow ArcGIS to determine a valid grid size.geometryDefEdit.set_GridSize(0, 0);ISpatialReferenceFactory3 spatialReferenceFactory = new SpatialReferenceEnvironmentClass();geometryDefEdit.SpatialReference_2 = spatialReferenceFactory.CreateGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_Beijing1954);break;}}// Use IFieldChecker to create a validated fields collection.ESRI.ArcGIS.Geodatabase.IFieldChecker fieldChecker = new ESRI.ArcGIS.Geodatabase.FieldCheckerClass();ESRI.ArcGIS.Geodatabase.IEnumFieldError enumFieldError = null;ESRI.ArcGIS.Geodatabase.IFields validatedFields = null;fieldChecker.ValidateWorkspace = (ESRI.ArcGIS.Geodatabase.IWorkspace)workspace;fieldChecker.Validate(fields, out enumFieldError, out validatedFields);// The enumFieldError enumerator can be inspected at this point to determine // which fields were modified during validation.// finally create and return the feature classif (featureDataset == null)// if no feature dataset passed in, create at the workspace level
            {featureClass = featureWorkspace.CreateFeatureClass(featureClassName, validatedFields, CLSID, CLSEXT, ESRI.ArcGIS.Geodatabase.esriFeatureType.esriFTSimple, strShapeField, strConfigKeyword);}else{featureClass = featureDataset.CreateFeatureClass(featureClassName, validatedFields, CLSID, CLSEXT, ESRI.ArcGIS.Geodatabase.esriFeatureType.esriFTSimple, strShapeField, strConfigKeyword);}return featureClass;}

ArcEngine创建要素类_线图层相关推荐

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

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

  2. ArcEngine实现要素类排序的四种方法

    ArcEngine的排序方法有多种,下面介绍一下主要的四种方法. 准备数据 测试数据如下图所示:新建一个Geodatabase的要素类,其中Name为道路名称,Width为道路宽度,下面将根据Widt ...

  3. ArcEngine在个人地理数据库下创建要素类

    //例如,personalDBPath=@"E:\temp\TestDB.mdb", featureClassName="newF" public void C ...

  4. myeclipse怎么创建jframe类_创建型-建造者模式

    一个对象创建的时候,需要各种初始化化,有一套复杂的创建流程,如果这些流程散布在系统各个地方的话,会越来越难以维护,因此建造者模式就是把一套复杂的创建某个具体产品的流程,管理起来. 定义: 将一个复杂的 ...

  5. 用java创建person类_创建一个Person类,有以下属性:名字、身高、性别、年龄,创建10个对象,用java程序...

    展开全部 public class Person{ private String name; private int height; private String sex; private int a ...

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

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

  7. gis里创建要素面板怎么打开_规划用地CAD转gis文件并制作用地平衡表

    城乡规划各个规划如国土空间规划.控规和城市设计在画好如下的用地色块之后,往往都需要制作一张用地平衡表.大家平常遇到这种问题,多半是基于湘源等控规软件来进行生成.但有时候大家可能遇到这样那样的问题,之前 ...

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

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

  9. arcgis更改图层坐标系_以图层的形式添加 x,y 坐标数据

    除了 shapefile 等数据源,还可以将包含地理位置的表格数据以 x,y 坐标的形式添加到地图中.如果表中也包含 z 坐标(例如,高程值),则可以将表格数据作为 3D 内容添加到 globe 或 ...

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

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

最新文章

  1. 【SQL】sql语句LEFT JOIN(拼接表)详解
  2. Asp.Net中验证控件简单分析
  3. 用Docker搭建PHP开发环境
  4. python解释器是什么-python解释器都有什么
  5. 个人重构之一般用户实现
  6. 用友致远协同OA办公软件可以给外驻领导带来什么好处?
  7. JavaWeb第二讲 重定向与转发 doGet()与doPost()
  8. 龙之谷哪个服务器最多,龙之谷哪些服务器数据互通 龙之谷数据互通详情介绍...
  9. Redis bind用法
  10. 数据库保存经纬度,需要采用什么数据类型,小数点应该精确多少位?
  11. 右键文件夹没有git clone命令的解决方法
  12. 五款不错的Web前端开发工具,对小白来说完全够用了!
  13. 什么职业的人适合考PMP?(含PMP资料)
  14. 2021-10-25 UI设计规范及动态海报
  15. 广告投放系统后台html,今日头条广告如何投放?今日头条广告后台操作说明
  16. CSS案例——静态网页制作
  17. oracle存储过程报ORA-20000的错误
  18. 厦门大学354汉语基础考研参考书目
  19. Java 程序是如何执行的
  20. colt python 357magnum_357磁(357 Magnum)——欧美十佳手枪

热门文章

  1. vue实现公告上下滚动
  2. make[1]: *** Waiting for unfinished jobs....
  3. SpringAop_2通知(新手)和无法找到元素 'aop:aspectj-autoproxy' 的声明
  4. oracle认证考试指南全册,OCP认证考试指南全册Oracle Database10g
  5. 单细胞三大R包之Seurat
  6. 3乘3魔方第四步_三阶魔方第四步
  7. [Windows系统]openssl的安装与调用
  8. 8051 C 中的sbit
  9. Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering
  10. java五子棋技术路线,一位老码农的编程简史