• 创建、添加字段IFields


    转载自:http://blog.sina.com.cn/s/blog_84f7fbbb010199gx.html

    从ACCESS读取数据到ArcGIS个人数据库并创建Feature Class(point)

    转载:http://www.cnblogs.com/qiushuixizhao/p/3242685.html

    如何创建一个要素数据类 IField,IFieldEdit,IFields,IFieldsEditI,GeometryDef,IGeometryDefEdit接口

    如何创建一个要素数据类 
    创建要素类用到了IFeatureWorkspace.CreateFeatureClass方法,在这个方法中有众多的参数,为了满足这些参数,我们要学习和了解下面的接口. 
    IField,IFieldEdit,IFields,IFieldsEditI,GeometryDef,IGeometryDefEdit接口 
    字段对应表中的一列,一个要素类必须有至少2个字段,而多个字段的集合就构成了字段集,在要素类中,有一个特殊的字段,描述了空间对象,我们称之为几何字段,其中GeometryDef是用来设计几何字段的。这个几何字段定义了要素类的类型,比如说我们要在Catalog创建一个点要素类,那么我们必须指定他的类型为Point。

    而上面这6个接口,其实是三类,以Edit结尾的接口是可写的,也就是说对字段,字段集合,以及几何字段的编辑都是通过后者完成的。空间数据的一个重要属性就是参考系,参考系也是在GeometryDef中定义的。 
    注意 在NET中,会遇到以“_2”结尾的属性,这些属性是可写的。

    IGeometryDefEdit Interface接口

    Members

     Description
      AvgNumPoints The estimated average number of points per feature.
      AvgNumPoints The estimated average number of points per feature.
      GeometryType The enumerated geometry type.
      GeometryType The geometry type.
      GridCount The number of spatial index grids.
      GridCount The number of spatial index grids.
      GridSize The size of a spatial index grid.
      GridSize The size of a spatial index grid.
      HasM Indicates if the feature class has measure (M) values.
      HasM Indicates if the feature class will support M values.
      HasZ Indicates if the feature class will support Z values.
      HasZ Indicates if the featureClass has Z values.
      SpatialReference The spatial reference for the dataset.
      SpatialReference The spatial reference of the dataset.

     

    //定义一个几何字段,类型为点类型 
     ISpatialReference pSpatialReference = axMapControl1.ActiveView.FocusMap.SpatialReference; //空间参考系
     IGeometryDefEdit pGeoDef = new GeometryDefClass(); 
     IGeometryDefEdit pGeoDefEdit = pGeoDef as IGeometryDefEdit; 
     pGeoDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPoint; 
     pGeoDefEdit.SpatialReference_2 = pSpatialReference; 
    
     //定义一个字段集合对象 
     IFields pFields = new FieldsClass(); 
     IFieldsEdit pFieldsEdit = (IFieldsEdit)pFields; 
    
     //定义单个的字段 
     IField pField = new FieldClass(); 
     IFieldEdit pFieldEdit = (IFieldEdit)pField; 
    
     pFieldEdit.Name_2 = "SHAPE"; 
     pFieldEdit.Type_2 = esriFieldType.esriFieldTypeGeometry; 
     pFieldsEdit.AddField(pField); 
     pFieldEdit.GeometryDef_2 = pGeoDef; 
    
     //定义单个的字段,并添加到字段集合中 
     pField = new FieldClass(); 
    pFieldEdit = (IFieldEdit)pField; 
    pFieldEdit.Name_2 = "STCD"; 
    pFieldEdit.Type_2 = esriFieldType.esriFieldTypeString; 
    pFieldsEdit.AddField(pField); 
    
    //定义单个的字段,并添加到字段集合中 
    pField = new FieldClass(); 
    pFieldEdit = (IFieldEdit)pField; 
    pFieldEdit.Name_2 = "SLM10"; 
    pFieldEdit.Type_2 = esriFieldType.esriFieldTypeString; 
    pFieldsEdit.AddField(pField); 
    //定义单个的字段,并添加到字段集合中 
    pField = new FieldClass(); 
    pFieldEdit = (IFieldEdit)pField; 
    pFieldEdit.Name_2 = "SLM20"; 
    pFieldEdit.Type_2 = esriFieldType.esriFieldTypeString; 
    pFieldsEdit.AddField(pField); 
    //定义单个的字段,并添加到字段集合中 
    pField = new FieldClass(); 
    pFieldEdit = (IFieldEdit)pField; 
    pFieldEdit.Name_2 = "SLM40"; 
    pFieldEdit.Type_2 = esriFieldType.esriFieldTypeString; 
    pFieldsEdit.AddField(pField); 
    
    IWorkspaceFactory pFtWsFct = new AccessWorkspaceFactory(); 
    
    IFeatureWorkspace pWs = pFtWsFct.OpenFromFile(@"E:arcgisEngines.mdb", 0) as 
    IFeatureWorkspace; 
    
    
    IFeatureClass pFtClass = pWs.CreateFeatureClass("Test", pFields, null, null, 
    esriFeatureType.esriFTSimple, "SHAPE", null)

     创建字段

    方法一:IQueryFilter接口

    Description
    IQueryFilterfilters data based on an attribute query. A string defining a where clause is required. An optional list of columns may be included to specify the column values to be retrieved. If no columns are specified, all values will be returned.

    When To Use
    When you need to filter data based on attribute values or the relationships between attributes.

    Members

    Method         AddField          Appends a single field name to the list of sub-fields.
    Read/write property   OutputSpatialReference     The spatial reference in which to output geometry for a given field.
    Read/write property   SubFields          The comma delimited list of field names for the filter.
    Read/write property   WhereClause        The where clause for the filter.


     


  • 相关阅读:
    微信小程序开发之初探
    C# 利用SharpPcap实现网络包捕获嗅探
    C# SharpMap的简单使用
    C# 实现中国象棋【棋盘,棋子】
    C# 实现FTP客户端
    C# 实现连连看功能
    C# 实现截图软件功能
    C# 利用PrintDocument定制打印单据
    驰骋工作流引擎设计系列05 启动流程设计
    驰骋工作流引擎设计系列04 流程引擎表结构的设计
  • 原文地址:https://www.cnblogs.com/marvelousone/p/7457436.html
Copyright © 2020-2023  润新知