关于AE中IFeatureWorkspace.CreateFeatureClass Example 的诸参数注意事项解释

featureWorkspace.CreateFeatureClass(featureClassName, validatedFields,

ocDescription.InstanceCLSID, ocDescription.ClassExtensionCLSID, esriFeatureType.esriFTSimple,

fcDescription.ShapeFieldName, "");

 

 

 

IFieldEdit是继承IField的,IField的属性大部分是只读的(read-only),IFieldEdit则是在IField的基础上多了个只写的属性。这也是为什么会出现Name_2、Length_2等原因了。


IFields是IFields的集合,有AddField()方法;


esriFieldType 字段类型,除了int,string,double等常见类型外还包含了esriFieldTypeGeometry的类型;


esriGeometryType 几何类型,指点,线,面等;


esriFeatureType 要素类型,包括简单要素类,复杂要素,注记,维要素,Covering,Raster等。


Length只针对String字段的,Numeric字段的长度应该设置Precision的值,如果是Double的话,还可以用Scale来设置保留几位小数点。

 

CLSID和EXTCLSID,它们的含义非常有趣。我们知道,GeoDatabase中的每个对象都有个唯一标识符UID,系统是靠认证这个64位的随机值来区分不同对象的,同样的,要素类和要素类的扩展部分也有这么个标识,只不过在一般情况下我们无法看到这个UID值而已。如何产生这两个值呢,也很简单,使用:
CLSID=pOCDesc.InstanceCLSID;
EXTCLSID=pOCDesc.ClassExtensionCLSID; 
The CLSID property of a Table determines the type of row object returned by the Table;


ShapeFieldName是指一个要素类的Shape字段名,一般都是"SHAPE"

 

ConfigKeyword一般不用设置,可以设置为空字符串。

阅读更多
上一篇对象浏览器中各图标的含义
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭