- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ArcGIS接口详细说明之个人开发心得
作者:万人迷先… 文章来源:万人迷先生 点击数:8839 更新时间:2010-4-7
摘要:ArcGIS接口详细说明之个人开发心得
1. 关于IField接口(esriGeoDatabase)
IField接口的第一个属性AliasName(只读,获得字段的别名)
IField接口的第二个方法CheckValue(Value)(方法,对于指定的属性字段,基于字段类型判断参数值是否有效,有效,则返回True,否则返回False)
例子代码:
Get Field
Set pField = pFields.Field(6)
bChkField = pField.CheckValue(45.86)
If bChkField = True Then
Add data to selected rows for the field selected.
End If
IField接口的其他属性均为只读属性,常用有Name(只读,获得字段的名称)
例子代码:
Dim pFields As IFields
Dim pField As IField
Dim pGeoDef As IGeometryDef
Dim pDomain As IDomain
Dim i As Long
Set pFields = pFeatClass.Fields
For i = 0 To pFields.FieldCount - 1
Set pField = pFields.Field(i)
If pField.Type = esriFieldTypeGeometry Then
Set pGeoDef = pField.GeometryDef
Else
Debug.Print pField.AliasName
Debug.Print pField.DefaultValue
Set pDomain = pField.Domain
Debug.Print pField.Editable
Debug.Print pField.IsNullable
Debug.Print pField.Length
Debug.Print pField.Name
Debug.Print pField.Precision
Debug.Print pField.Required
Debug.Print pField.Scale
Debug.Print pField.Type
Debug.Print pField.VarType
End If
Next
2. 关于IFieldEdit接口(esriGeoDatabase)
所有该接口的属性均为可读可写,经常用与对新建字段的设置,因为字段一旦被设置,其基本属性就不能被更改,所以就需要该接口类型的变量去转换,方法为:
IFeatureClass pFC_SCP_PT;
IFieldEdit editPT = new FieldClass();
pFC_SCP_PT.AddField((IField)editPT);
如果在vb中去编写代码,则赋值和获取均为同一属性,而在C#中,为了区分设置和获取,属性均有两个,类似于Name和Name_2,这样就可以区分了,普遍用设置的带有_2的那个属性。
IFieldEdit接口的第一个属性Name (读写,设置或者获取该变量类型变量字段的名称)
IFieldEdit接口的第二个属性Precision(读写,设置或者获取该变量类型变量字段的长度)
IFieldEdit接口的第三个属性Scale(读写,设置或者获取该变量类型变量字段的精度)
IFieldEdit接口的第四个属性Type(读写,设置或者获取该变量类型变量字段的类型)
例子代码:
IFeatureClass pFC_SCP_PT;
editPT = new FieldClass();
editPT.Precision_2 = 8;
editPT.Scale_2 = 3;
editPT.Name_2 = ELEV1;
editPT.Type_2 = esriFieldType.esriFieldTypeDouble;
3. 关于IFields接口(esriGeoDatabase)
IFields接口的第一个属性Field(Index) (只读,以用于获取具体的字段,返回类型为IField)
IFields接口的第二个属性FieldCount(只读,以用于获取属性的数量)
利用上面两个接口并用索引去依次循环获得每一列的属性pField(
文档评论(0)