ArcEngine创建要素类01

单独生成要素类:

        public IFeatureClass CreateStandaloneFeatureClass(IWorkspace workspace, String
    featureClassName, IFields fieldsCollection, String shapeFieldName)
        {
            IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)workspace;
            IFeatureClassDescription fcDesc = new FeatureClassDescriptionClass();
            IObjectClassDescription ocDesc = (IObjectClassDescription)fcDesc;
            // Use IFieldChecker to create a validated fields collection.
            IFieldChecker fieldChecker = new FieldCheckerClass();
            IEnumFieldError enumFieldError = null; IFields validatedFields = null;
            fieldChecker.ValidateWorkspace = workspace;
            fieldChecker.Validate(fieldsCollection, out enumFieldError, out validatedFields);
            // The enumFieldError enumerator can be inspected at this point to determine
            // which fields were modified during validation.
            IFeatureClass featureClass = featureWorkspace.CreateFeatureClass
                (featureClassName, validatedFields, ocDesc.InstanceCLSID,
                ocDesc.ClassExtensionCLSID, esriFeatureType.esriFTSimple, shapeFieldName, "");
            return featureClass;
        }

在要素集中添加要素类:

        public IFeatureClass CreateFeatureDatasetFeatureClass(IFeatureDataset featureDataset,
            String featureClassName, IFields fieldsCollection, String shapeFieldName)
        {
            IFeatureClassDescription fcDesc = new FeatureClassDescriptionClass();
            IObjectClassDescription ocDesc = (IObjectClassDescription)fcDesc;

            // Use IFieldChecker to create a validated fields collection.
            IFieldChecker fieldChecker = new FieldCheckerClass();
            IEnumFieldError enumFieldError = null;
            IFields validatedFields = null;
            fieldChecker.ValidateWorkspace = featureDataset.Workspace;
            fieldChecker.Validate(fieldsCollection, out enumFieldError, out validatedFields);

            // The enumFieldError enumerator can be inspected at this point to determine
            // which fields were modified during validation.
            IFeatureClass featureClass = featureDataset.CreateFeatureClass(featureClassName,
                validatedFields, ocDesc.InstanceCLSID, ocDesc.ClassExtensionCLSID,
                esriFeatureType.esriFTSimple, fcDesc.ShapeFieldName, "");
            return featureClass;
        }
时间: 2024-07-31 14:26:17

ArcEngine创建要素类01的相关文章

ArcEngine创建要素类

public ESRI.ArcGIS.Geodatabase.IFeatureClass CreateFeatureClass(ESRI.ArcGIS.Geodatabase.IWorkspace2 workspace, ESRI.ArcGIS.Geodatabase.IFeatureDataset featureDataset, System.String featureClassName) { ESRI.ArcGIS.esriSystem.UID CLSID = null; ESRI.Arc

ArcGIS创建要素类

在使用ARCGIS软件进行工作时,免不了要建立地理数据库和要素类之类的.一下是我创建文件地理数据库并在数据库中创建要素类写相关步骤: 1.启动软件,可以使用ARCCatalog直接进行创建也可以使用ArcMap中ARCCatalog窗口进行创建.总之需要用到ARCCatalog这个数据管理工具:这里我们直接启动ArcMap: 2.在ArcCatalog窗口文件连接中展开到你需要创建的位置的文件夹,右键单击选择新建——文件地理数据库,创建完成可进行重命名: 3.选择你创建好的文件地理数据,右键单击

Geodatabase - 创建要素类.

在NET中,会遇到以“_2”结尾的属性,这些属性是可写的. 以下代码在已有工作空间下,创建一个新的点要素类: 1 //例如,[email protected]"G:\doc\gis\1.400\data\pdb.mdb", featureClassName="newF" 2 public void CreateFeatureClass(string personalDBPath, string featureClassName) { 3 //创建点类型. 4 //空

ArcEngine创建要素集

public IFeatureDataset CreateFeatureDataset_Example(IWorkspace workspace, string fdsName, ISpatialReference fdsSR) { IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)workspace; return featureWorkspace.CreateFeatureDataset(fdsName, fdsSR); }

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

/* * 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用. * * ------------------------------------------------------------------- * * 使用前提:已搭建好AE的GIS基本框架,包括TOC.mapcontrol.toolbar拖控件,mxd.shp文件载入显示,查看图层属性表等 * * --------------------------------------------------

arcengine 要素类的复制

转自原文arcengine 要素类的复制 using System; using System.Collections.Generic; using System.Text; using ESRI.ArcGIS.Geodatabase; using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.Carto; namespace MyGISClass { /// <summary> /// 该类主要包含了要素类的复制以及同要素类数据的加载 /// 函数主要用于S

ArcEngine 创建线要素图层

在创建要素图层的时候,默认的几何类型是Polygon: Dim objectClassDescription As IObjectClassDescription = New FeatureClassDescription Dim fields2 As Fields = objectClassDescription.RequiredFields 上面代码的fields2包含2个字段,一个OBJECTID字段和一个SHAPE字段,而SHAPE字段决定了要素的几何类型(GeometryType),这

ArcGis 创建Annotation注记要素类、添加注记要素 并加载到Activeview AO C#

AO中一般有两种方式存储图面注记元素,一种使用TextElement,它是文档级的元素,编辑后要通过文档(mxd)保存:另一种是使用Annotation要素类,它是一个独立的要素类(featureclass),需要存储到地理数据库中.使用Annotation featureclass 的方式更灵活.更强大,至于如何灵活,如何强大,待你用到便自知. 1.创建一个标准的Annotation要素类(StandardAnnotationClass) 1 public AnnotationMark(IFe

Arcengine 实现要素选取的方法(转载)

转自原文Arcengine 实现要素选取的方法(转载) 选择一个要素或者一个要素集(FeatureSelection)的方法很多,如IMap::SelectByShape.ILayer::search.IFeatureSection::SelectFeature等方法 主要用到的方法: IMap接口的SelectFeature(Layer, Feature) (方法,从一个Layer中选择一个Feature): IMap接口SelectByShape(Shape, env, justOne) (