ArcEngine创建要素类_线图层
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创建要素类_线图层相关推荐
- arcmap新建要素_ArcGIS创建要素类
在使用ARCGIS软件进行工作时,免不了要建立地理数据库和要素类之类的.一下是我创建文件地理数据库并在数据库中创建要素类写相关步骤: 1.启动软件,可以使用ARCCatalog直接进行创建也可以使用A ...
- ArcEngine实现要素类排序的四种方法
ArcEngine的排序方法有多种,下面介绍一下主要的四种方法. 准备数据 测试数据如下图所示:新建一个Geodatabase的要素类,其中Name为道路名称,Width为道路宽度,下面将根据Widt ...
- ArcEngine在个人地理数据库下创建要素类
//例如,personalDBPath=@"E:\temp\TestDB.mdb", featureClassName="newF" public void C ...
- myeclipse怎么创建jframe类_创建型-建造者模式
一个对象创建的时候,需要各种初始化化,有一套复杂的创建流程,如果这些流程散布在系统各个地方的话,会越来越难以维护,因此建造者模式就是把一套复杂的创建某个具体产品的流程,管理起来. 定义: 将一个复杂的 ...
- 用java创建person类_创建一个Person类,有以下属性:名字、身高、性别、年龄,创建10个对象,用java程序...
展开全部 public class Person{ private String name; private int height; private String sex; private int a ...
- ArcGIS Pro创建文件地理数据库、要素数据集、要素类
首先,和大家介绍一下什么是地理数据库.地理数据库(Geodatabase)是一种面向对象的空间数据模型,能够对矢量.栅格.不规格格网.网络等空间数据集进行统一的描述和存储,也就是说它是保存各种数据集的 ...
- gis里创建要素面板怎么打开_规划用地CAD转gis文件并制作用地平衡表
城乡规划各个规划如国土空间规划.控规和城市设计在画好如下的用地色块之后,往往都需要制作一张用地平衡表.大家平常遇到这种问题,多半是基于湘源等控规软件来进行生成.但有时候大家可能遇到这样那样的问题,之前 ...
- AE二次开发中几个功能速成归纳(符号设计器、创建要素、图形编辑、属性表编辑、缓冲区分析)...
/** 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用.** -------------------------------------------------- ...
- arcgis更改图层坐标系_以图层的形式添加 x,y 坐标数据
除了 shapefile 等数据源,还可以将包含地理位置的表格数据以 x,y 坐标的形式添加到地图中.如果表中也包含 z 坐标(例如,高程值),则可以将表格数据作为 3D 内容添加到 globe 或 ...
- ArcGIS无法完成创建要素任务,坐标测量值超出范围
ArcGIS无法完成创建要素任务,坐标/测量值超出范围 解决办法汇总: 1. 将其导出shp文件再导入地理数据库: 具体:导出Shp文件后再导入.设置工具XY属性域环境.新建要素类 2.使用合并工具, ...
最新文章
- 【SQL】sql语句LEFT JOIN(拼接表)详解
- Asp.Net中验证控件简单分析
- 用Docker搭建PHP开发环境
- python解释器是什么-python解释器都有什么
- 个人重构之一般用户实现
- 用友致远协同OA办公软件可以给外驻领导带来什么好处?
- JavaWeb第二讲 重定向与转发 doGet()与doPost()
- 龙之谷哪个服务器最多,龙之谷哪些服务器数据互通 龙之谷数据互通详情介绍...
- Redis bind用法
- 数据库保存经纬度,需要采用什么数据类型,小数点应该精确多少位?
- 右键文件夹没有git clone命令的解决方法
- 五款不错的Web前端开发工具,对小白来说完全够用了!
- 什么职业的人适合考PMP?(含PMP资料)
- 2021-10-25 UI设计规范及动态海报
- 广告投放系统后台html,今日头条广告如何投放?今日头条广告后台操作说明
- CSS案例——静态网页制作
- oracle存储过程报ORA-20000的错误
- 厦门大学354汉语基础考研参考书目
- Java 程序是如何执行的
- colt python 357magnum_357磁(357 Magnum)——欧美十佳手枪
热门文章
- vue实现公告上下滚动
- make[1]: *** Waiting for unfinished jobs....
- SpringAop_2通知(新手)和无法找到元素 'aop:aspectj-autoproxy' 的声明
- oracle认证考试指南全册,OCP认证考试指南全册Oracle Database10g
- 单细胞三大R包之Seurat
- 3乘3魔方第四步_三阶魔方第四步
- [Windows系统]openssl的安装与调用
- 8051 C 中的sbit
- Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering
- java五子棋技术路线,一位老码农的编程简史