免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 8295|回复: 6
收起左侧

[二次开发] 在ARCGIS属性表中增加需要的字段,并自动赋值

[复制链接]

296

主题

3740

铜板

50

好友

地信学员

Rank: 12Rank: 12Rank: 12

积分
3471

斑竹勋章

发表于 2010-3-14 16:32 | 显示全部楼层 |阅读模式
在ARCGIS属性表中增加需要的字段,并自动赋值
使用方法
1打开属性表,选择计算的字段,右点选择Calculate Values;2.选择“是”,进入Field Calculator;
2选择Advance选项;
3 在Pre-Logic VBA Script Code编辑框中输入VBA代码;
4在下面编辑框中输入赋值部分.


1--点坐标X
VBA部分:
Dim pGeo As IGeometry
Set pGeo = [Shape]
Dim pPoint As IPoint
Set pPoint = pGeo
赋值部分:
pPoint.X

2--点坐标Y
VBA部分:
同上
赋值部分:
pPoint.Y

坐标值为文件存储的固有值,和是否使用On the Fly坐标表示无关。返回当前显示的坐标值参看8,9

3--多边形周长
VBA部分:
Dim pGeo As IGeometry
Set pGeo = [Shape]
Dim pPolygon As IPolygon
Set pPolygon = pGeo
赋值部分:
pPolygon.Length

4--多边形面积
VBA部分:
Dim pGeo As IGeometry
Set pGeo = [Shape]
Dim pPolygon As IPolygon
Set pPolygon = pGeo
Dim pArea As IArea
Set pArea = pPolygon
赋值部分:
pArea.Area

5--多边形重心X
VBA部分:
Dim pGeo As IGeometry
Set pGeo = [Shape]
Dim pPolygon As IPolygon
Set pPolygon = pGeo
Dim pArea As IArea
Set pArea = pPolygon
Dim pPoint As IPoint
Set pPoint = pArea.Centroid
赋值部分:
pPoint.X

6--多边形重心Y
VBA部分:
同上
赋值部分:
pPoint.Y

7--Polyline长度
VBA部分:
Dim pGeo As IGeometry
Set pGeo = [Shape]
Dim pPolyline As IPolyline
Set pPolyline = pGeo
Dim pCurve As IPolycurve
Set pCurve = pPolyline
赋值部分:
pCurve.Length

8--表示点坐标X
VBA部分:
Dim pDoc As IMxDocument
Set pDoc = ThisDocument
Dim pSpRef As ISpatialReference
Set pSpRef = pDoc.FocusMap.SpatialReference

Dim pClone As IClone
Set pClone = [Shape]
Dim pGeo As IGeometry
Set pGeo = pClone.Clone
Dim pPoint as IPoint
Set pPoint = pGeo

pGeo.Project pSpRef
赋值部分:
pPoint.X

9--表示点坐标Y
VBA部分:
同上
赋值部分:
pPoint.Y

坐标值为On the Fly显示的坐标,不是文件存储的固有坐标

10--连续编号
VBA部分:
Static lCount as long
lCount=lCount+1
赋值部分:
lCount (从1开始)
lCount-1 (从0开始)

3

主题

77

铜板

0

好友

助理工程师

Rank: 5Rank: 5

积分
215
发表于 2010-3-23 14:44 | 显示全部楼层
[s:119][s:119][s:119][s:119][s:119][s:119]

18

主题

756

铜板

25

好友

教授级高工

学习吧,都已经快老了哪

Rank: 12Rank: 12Rank: 12

积分
1397
发表于 2010-5-9 22:40 | 显示全部楼层
有没有计算等高线的语句呢?楼主!!如果有,共享一下呗!!!![s:136][s:136][s:136][s:136][s:136]
锄禾日当午,签到好辛苦!...

0

主题

1959

铜板

5

好友

助理工程师

Rank: 5Rank: 5

积分
298
发表于 2011-4-2 11:34 | 显示全部楼层
没什么看懂~

0

主题

505

铜板

3

好友

技术员

Rank: 3Rank: 3

积分
71
发表于 2013-3-26 18:41 | 显示全部楼层
很不错 谢谢楼主共享
回复 支持 反对

使用道具 举报

0

主题

2230

铜板

15

好友

地信院士

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
2033
发表于 2021-6-22 21:29 | 显示全部楼层
感谢分享
回复

使用道具 举报

0

主题

1684

铜板

1

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
643
发表于 2022-2-15 13:36 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表