IFeatureWorkspace接口是在工作空間中創建對象主要使用的接口。方法:
? AllProperties MethodsDescription
| CreateFeatureClass | Creates a new standalone feature class under the workspace.//創建一個FeatureClass |
| CreateFeatureDataset | Creates a new feature dataset.//創建一個FeatureDataset |
| CreateQueryDef | Create a query definition object. |
| CreateRelationshipClass | Creates a new relationship class. |
| CreateTable | Creates a new table. //創建表 |
| OpenFeatureClass | Opens an existing feature class.//從工作空間中打開一個FeatureClass |
| OpenFeatureDataset | Opens an existing feature dataset. |
| OpenFeatureQuery | Opens a feature dataset containing a single feature class defined by the specified Query. |
| OpenRelationshipClass | Opens an existing relationship class. |
| OpenRelationshipQuery | The table of a relationship join query. |
| OpenTable | Opens an existing table. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//打開存在的表 |
1、創建一個FeatureClass
public IFeatureClass CreateFeatureClass (
????string Name,IFields Fields,UID CLSID,UID EXTCLSID,?esriFeatureType FeatureType,string ShapeFieldName,string ConfigKeyword
); esriFeatureType見點擊打開鏈接 2、創建FeatureDataset
public IFeatureDataset
CreateFeatureDataset (string Name,ISpatialReference SpatialReference
); 3、
public IQueryDef
CreateQueryDef (
); 4、public IFeatureClass
OpenFeatureClass (string Name
);
打開一個FeatureClass(Workspace as IFeatureWorkspace).OpenFeatureClass(FeatureClassName);
創建例子:? ? ? ??///?<summary>///?創建要素類///?</summary>///?<param?name="workspace"></param>///?<param?name="featureDataset"></param>///?<param?name="featureClassName"></param>///?<param?name="fields"></param>///?<param?name="CLSID"></param>///?<param?name="CLSEXT"></param>///?<param?name="strConfigKeyword"></param>///?<returns></returns>
????????public?static?IFeatureClass?CreateFeatureClass(IFeatureDataset?featureDataset,?String?featureClassName,?IFields?fields){if?(_workSpaceInstance?==?null)?return?null;IFeatureClass?featureClass?=?null;IFeatureWorkspace?featureWorkspace?=?(IFeatureWorkspace)_workSpaceInstance;?//?assign?the?class?id?value?if?not?assigned
????????????ESRI.ArcGIS.esriSystem.UID?CLSID?=?null;ESRI.ArcGIS.esriSystem.UID?CLSEXT?=?null;string?strConfigKeyword?=?"";if?(CLSID?==?null){CLSID?=?new?ESRI.ArcGIS.esriSystem.UIDClass();CLSID.Value?=?"esriGeoDatabase.Feature";}System.String?strShapeField?=?"";//?locate?the?shape?field
????????????for?(Int32?j?=?0;?j?<?fields.FieldCount;?j++){esriFieldType?dd?=?fields.get_Field(j).Type;if?(dd?==?esriFieldType.esriFieldTypeGeometry){strShapeField?=?fields.get_Field(j).Name;}}//?finally?create?and?return?the?feature?class
????????????if?(featureDataset?!=?null){featureClass?=?featureDataset.CreateFeatureClass(featureClassName,?fields,?CLSID,?CLSEXT,?esriFeatureType.esriFTSimple,?strShapeField,?strConfigKeyword);}return?featureClass;}
轉載于:https://www.cnblogs.com/dengshiwei/p/4258581.html
總結
以上是生活随笔為你收集整理的如何创建一个FeatureClass,IFeatureWorkspace 接口漫谈的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。