本文介绍基于
ArcMap
软件,自动批量计算矢量图层中
各个要素

面积
的方法。

一次,遇到一个问题,需要分别计算
ArcMap
软件中一个图层的所有面要素的面积。如图,这个图层中包括多个省级行政区矢量面要素,现在需要分别计算其中每一个要素各自的面积。

image

这里有一个方便的办法。

首先我们新建一个字段。打开图层属性表,选择“
Add Field
”。

在弹出的界面中,配置如下。其中,“
Name
”大家可以随意,“
Type
”选择“
Float
”,下方的字段属性中,“
Precision
”为字段的所有数字位数,无论是在小数点左边还是右边;“
Scale
”则为小数点右边的数字位数,也就是保留几位小数。例如:
365.20

Precision
就是
5

Scale
就是
2

可以看到,已经新建了一个字段。

在新建的字段名称上右键,选择“
Calculate Geometry
”。

弹出了一个提示,大概意思是说:我没有在开启编辑模式的情况下进行字段计算,那么这样会让计算变得快一些,但是一旦计算开始,就不能撤回。

因此,追求计算速度还是追求可以撤回,依据大家的实际情况来就好。因为我这里数据不多,计算也比较简单,因此就直接选择了继续。

点击“
Yes
”之后,在弹出的窗口中第一个“
Property
”下拉框中选择面积,也就是“
Area
”;此时发现我的“
Area
”后面跟着一个“
Disabled
”。为什么处于这种状态呢?

一般的,出现上述情况都是因为我们的面要素(也就是这个图层)处于地理坐标系,而并不是投影坐标系。二者最简单的区别就是,地理坐标系用经度、纬度作为空间衡量指标,而投影坐标系用米、千米等长度单位作为空间衡量指标。

那么,我们就来看看我们现在是不是处于地理坐标系状态。在图层列表中,右击我们当前的图层的名称,选择“
Properties
”。

选择“
Source
”,可以看到,图层的地理坐标系统(“Geographic Coordinate System”)为
WGS_1984
,这是一个地理坐标系,而非投影坐标系。

因此,如果我们需要计算面积,必须将这一图层转为投影坐标系。

具体转换的方法,点击查看
ArcGIS地图投影与坐标系转换的方法
即可,这里就不赘述啦~

转换为投影坐标系后,打开新图层的属性表,可以看到我们刚刚新建的字段在这里也是存在的。

依据同样的方法,打开“
Calculate Geometry
”,可以看到此时“
Area
”就不再带着“
Disabled
”了。

其中,“
Coordinate System
”选择第一项,也就是图层自身的坐标系,也就是刚刚我们给他投影所选用的投影坐标系;“
Units
”是单位,大家依据实际情况来就好。我在这里选择
平方米
~

点击“
OK
”。可以看到“
Area
”字段已经有面积了。

那么,我们对这个计算出来的面积随机验证一下。用河南来验证,计算面积为
165982687427.8129
平方米,也就是
165982.69
平方千米;我们看看实际面积:

差了大概1000平方千米。不能说很准确,但是还是可以满足基本的大尺度区域分析了。在这里,精度误差可能的来源包括所用省级行政区
.shp
文件精度、投影坐标系选用等。大家依据各自的研究需要,来决定需不需要对面积数据精度加以提升;可用的提升方法包括更换投影坐标系、采用更精确的行政区图层等方法。

再用北京试一下。计算的面积为
16394318646.91106
平方米,也就是
16394.32
平方千米;实际面积:

这个就很准确了~

那么,能不能求出图层中所有矢量要素面积的和呢?可以的——在“
Area
”字段名称上右键,选择“
Statistics
”。

这里可以对全部字段的样本数量、极值、综合、平均值、标准差、
Null
值个数等加以查看,非常方便。

至此,大功告成。

标签: none

添加新评论