资源预览内容
第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
第9页 / 共42页
第10页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
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 楼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 接口(esriGeoDatabase)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. 关于 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. 怎样判断是否出于编辑状态 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 关于 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 = 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)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.PrecisionDebug.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(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(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 IntegerDim 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 接口的第四个方法 FindFieldByAliasName(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.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
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号