1推薦給不會使用AO的朋友
2可以保存爲CAL文件以備下次方便使用
使用方法
1打開屬性表,選擇計算的字段,右點選擇Calculate Values;
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開始)