arcgis接口详细说明之个人开发心得

上传人:wt****50 文档编号:32820518 上传时间:2018-02-12 格式:DOC 页数:42 大小:403.50KB
返回 下载 相关 举报
arcgis接口详细说明之个人开发心得_第1页
第1页 / 共42页
arcgis接口详细说明之个人开发心得_第2页
第2页 / 共42页
arcgis接口详细说明之个人开发心得_第3页
第3页 / 共42页
arcgis接口详细说明之个人开发心得_第4页
第4页 / 共42页
arcgis接口详细说明之个人开发心得_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《arcgis接口详细说明之个人开发心得》由会员分享,可在线阅读,更多相关《arcgis接口详细说明之个人开发心得(42页珍藏版)》请在金锄头文库上搜索。

1、ArcGIS接口详细说明之个人开发心得万人迷先生 217 /文 tj051181 /整理1. 关于 IField 接口(esriGeoDatabase)3 楼2. 关于 IFieldEdit 接口(esriGeoDatabase)4 楼3. 关于 IFields 接口(esriGeoDatabase)5 楼4. 关于 IPoint 接口(esriGeometry)6 楼5. 关于 IPointArray 接口(esriGeometry)7 楼6. 关于 IPointCollection 接口( esriGeometry)8 楼 7. 关于 IPolyline 接口(esriGeometry)9

2、 楼8. 关于 IGeometry 接口(esriGeometry)10 楼9. 关于 IArea 接口(esriGeometry)11 楼10. 关于 IEnvelope 接口(esriGeometry )12 楼11. 关于 IFeature 接口(esriGeoDatabase)13 楼12. 关于 IRow 接口(esriGeoDatabase)14 楼13. 关于 IFeatureClass 接口( esriGeoDatabase)15 楼14. 关于 ITable 接口(esriGeoDatabase)16 楼15. 关于 IFeatureCursor 接口(esriGeoData

3、base)17 楼16. 关于 IQueryFilter 接口(esriGeoDatabase)18 楼17. 关于 IFeatureLayer 接口(esriCarto)19 楼18. 关于 IFeatureSelection 接口(esriCarto)20 楼19. 关于 IMap 接口(esriCarto) 21 楼20. 关于 IPropertySet 接口(esriSystem) 22 楼21. 关于 IFeatureWorkspace 接口(esriGeoDatabase )23 楼22. 关于 IWorkspaceEdit 接口(esriGeoDatabase)24 楼23. 关

4、于 IWorkspaceFactory 接口(esriGeoDatabase)25 楼24. 关于 ITopologicalOperator 接口(esriGeometry)26 楼25. 创建 Buffer 并选择里面的要素 27 楼26. Merge 要素 Union 要素 28 楼27. 怎样从 Table 中获取具体需求值的 Row 42 楼28. 怎样 ZoomInCenter 43 楼29. 怎样读取一个字段内的所有值 44 楼30. 怎样编辑更改属性字段的值 45 楼31. 怎样将 MapControl 中的 Map 复制到 PageLayoutControl 中 47 楼32.

5、 怎样判断是否出于编辑状态 63 楼33. 怎样用点创建一个 Polygon 64 楼34. 怎样运用属性来计算总面积 65 楼35. 关于属性域的一些心得 82 楼36. 怎样实现翻折 Flip 方法 83 楼37. 回答 cumtbGIS 关于 ITopologicalOperator 接口 Clip 方法的问题 87 楼38. 回答机器猫 FJJ 关于 ISpatialFilter 接口方法的问题(完整函数) 91 楼39. 回答网友韶华响当当关于更改符号的代码(完整函数) 100 楼40. 回答网友韶华响当当关于显示属性的代码(完整函数) 101 楼41. 回答 gjw1015 关于

6、IFeature 变量添加进 List数组里的问题 112 楼1. 关于 IField 接口(esriGeoDatabase)IField 接口的第一个属性 AliasName(只读,获得字段的别名)IField 接口的第二个方法 CheckValue(Value)(方法,对于指定的属性字段,基于字段类型判断参数值是否有效,有效,则返回 True,否则返回 False)例子代码:IFeatureClass pFC_SCP_PT;editPT = new FieldClass();editPT.Precision_2 = 8;editPT.Scale_2 = 3;editPT.Name_2 =

7、ELEV1;editPT.Type_2 = esriFieldType.esriFieldTypeDouble;IField 接口的其他属性均为只读属性,常用有 Name(只读,获得字段的名称)例子代码:Dim pFields As IFieldsDim pField As IFieldDim pGeoDef As IGeometryDefDim pDomain As IDomainDim i As LongSet pFields = pFeatClass.FieldsFor i = 0 To pFields.FieldCount - 1Set pField = pFields.Field(i

8、)If pField.Type = esriFieldTypeGeometry ThenSet pGeoDef = pField.GeometryDefElseDebug.Print pField.AliasNameDebug.Print pField.DefaultValueSet pDomain = pField.DomainDebug.Print pField.EditableDebug.Print pField.IsNullableDebug.Print pField.LengthDebug.Print pField.NameDebug.Print pField.PrecisionDe

9、bug.Print pField.RequiredDebug.Print pField.ScaleDebug.Print pField.TypeDebug.Print pField.VarTypeEnd IfNext2. 关于 IFieldEdit 接口(esriGeoDatabase)所有该接口的属性均为可读可写,经常用与对新建字段的设置,因为字段一旦被设置,其基本属性就不能被更改,所以就需要该接口类型的变量去转换,方法为:IFeatureClass pFC_SCP_PT;IFieldEdit editPT = new FieldClass();pFC_SCP_PT.AddField(IFi

10、eld)editPT);如果在 vb 中去编写代码,则赋值和获取均为同一属性,而在 C#中,为了区分设置和获取,属性均有两个,类似于 Name和 Name_2,这样就可以区分了,普遍用设置的带有_2 的那个属性。IFieldEdit 接口的第一个属性 Name (读写,设置或者获取该变量类型变量字段的名称)IFieldEdit 接口的第二个属性 Precision(读写,设置或者获取该变量类型变量字段的长度)IFieldEdit 接口的第三个属性 Scale(读写,设置或者获取该变量类型变量字段的精度)IFieldEdit 接口的第四个属性 Type(读写,设置或者获取该变量类型变量字段的类型

11、)例子代码: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(只读,以用于获取属性的

12、数量)利用上面两个接口并用索引去依次循环获得每一列的属性 pField(Ifield 接口)例子代码:Dim i As LongDim pField As IFieldFor i = 0 To (pFields.FieldCount - 1)Set pField = pFields.Field(i)Debug.Print pField.Name & : & pField.TypeNext iIFields 接口的第三个方法 FindField(Name)(方法,输入想要查找的属性域字段的名称,如果有,则返回该属性域字段在此 Fields 的索引,没有则返回-1)例子代码:Dim i As In

13、tegerDim pFields As IFieldsDim pField As IFieldGet FieldsSet pFields = pFeatClass.FieldsFind the field named average_incomei = pFields.FindField(average_income)Set the current fieldSet pField = pFields.Field(i)Delete field from featureclasspFeatClass.DeleteField pFieldIFields 接口的第四个方法 FindFieldByAli

14、asName(Name)(方法,与第三个方法类似,此时输入的为该列属性字段的别名,此方法不经常用)例子代码:Dim i As IntegerDim pFields As IFieldsDim pField As IFieldGet FieldsSet pFields = pFeatClass.Fields Find the field with the aliasname current populationi = pFields.FindFieldByAliasName(current population)Set the current fieldSet pField = pFields.

15、Field(i)Delete field from featureclasspFeatClass.DeleteField pField4. 关于 IPoint 接口(esriGeometry)IPoint 接口的第一个方法 PutCoords(X,Y)(方法,设置该点的坐标)或者直接调用可以读写的属性 X 和 Y,将坐标赋值给 X 和 Y例子代码:Dim pPoint As IPointSet pPoint = New PointpPoint.PutCoords 100, 100IPoint 接口的第二个方法 QueryCoords(X,Y) (方法,得到该点的坐标)例子代码:Dim pPoint as IPointDim dX as Double, dY as DoublepPoint.QueryCoords dX, dYIPoint 接口的第三个方法 ConstrainAngle (constraintAngle, anchor, allowOpposit

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 机械理论及资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号