ArcGIS Engine 10 开发手册(4-8)创建一个要素数据类
发布时间: 2017-10-13
所属分类: ArcGIS Engine 10 开发手册
创建要素类用到了 IFeatureWorkspace.CreateFeatureClass 方法,在这个方法中有众多的参数,为了满足这些参数,我们要学习和了解下面的接口。
IField,IFieldEdit,IFields,IFieldsEdit,IGeometryDef, IGeometryDefEdit接口
字段对应表中的一列,一个要素类必须有至少 2 个字段,而多个字段的集合就构成了字段集,在要素类中,有一个特殊的字段,描述了空间对象,我们称之为几何字段,其中 GeometryDef 是用来设计几何字段的。这个几何字段定义了要素类的类型, 比如说我们要在 Catalog 创建一个点要素类,那么我们必须指定
他的类型为 Point,如下图:
而上面这 6 个接口,其实是三类,以 Edit 结尾的接口是可写的,也就是说对字段,字段集合,以及几何字段的编辑都是通过后者完成的。空间数据的一个重要属性就是参考系,参考系也是在 GeometryDef 中定义的。
**注意 在 .NET 中,会遇到以“_2”结尾的属性,这些属性是可写的。**
//定义一个几何字段,类型为点类型
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:\arcgis\Engine\s.mdb", 0) as IFeatureWorkspace;
IFeatureClass pFtClass = pWs.CreateFeatureClass ("Test",pFields, null, null, esriFeatureType.esriFTSimple, "SHAPE",null)
运行结果
结果如下:
ArcGIS Engine 10 开发手册全集
ArcGIS Engine 10 开发手册全集: ArcGIS Engine 10 开发手册
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。
手机阅读
公众号关注
知识星球
手机阅读
最新GIS干货
私享圈子