经常能看到关于在ArcMap中计算面积和长度的问题,以前在博客里面已经有一片关于这方面的文章,讲的很清楚,利用VBA来实现,这里再次说明一下计算 过程,通过对广东省的地级市多变形类型shp文件计算每个地市的面积并计算多变形长度,同时贴上步骤中的图片。
1、加载数据,在图层名上单击右键,弹出菜单,选择open attribute table打开shp文件的属性表
右键菜单
属性表
2、单击属性表右下部option,在弹出菜单选择Add Field,在Add Field对话框中添加Area字段,Float类型,同样方式添加Length字段。
添加字段菜单
属性表添加了Area和Length字段
3、选择Editor编辑工具中Start Editing命令(这一步可要可不要)
4、在属性表中选择Area,右键单击弹出菜单选择Field Calculator,在Field Calculator对话框中选中Advanced,在Pre-logic VBA Script Code文本框中输入
Dim pArea as IArea
Set pArea=[shape]
在Area=下面的文本框输入pArea.area,然后OK,即可完成Area字段的属性值计算。
选择Field Calculator
Field Calculator对话框计算面积Area
5、属性表中选择Length,右键单击弹出菜单选择Field Calculator,在Field Calculator对话框中选中Advanced,在Pre-logic VBA Script Code文本框中输入
Dim pCurve as ICurve
Set pCurve=[shape]
在Length=下面的文本框输入pCurve.Length,然后OK,即可完成Length字段的属性值计算.
计算Length字段
计算结果显示