何小豆儿在此 发表于 2024-5-17 09:21:35

ArcMap分别求取矢量要素各地区的面积

  本文先容基于ArcMap软件,自动批量盘算矢量图层中各个要素的面积的方法。
  一次,遇到一个问题,需要分别盘算ArcMap软件中一个图层的所有面要素的面积。如图,这个图层中包罗多个省级行政区矢量面要素,如今需要分别盘算其中每一个要素各自的面积。
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103904776-1065824840.png
  这里有一个方便的办法。
  首先我们新建一个字段。打开图层属性表,选择“Add Field”。
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859784-66369144.png
  在弹出的界面中,配置如下。其中,“Name”大家可以随意,“Type”选择“Float”,下方的字段属性中,“Precision”为字段的所有数字位数,无论是在小数点左边照旧右边;“Scale”则为小数点右边的数字位数,也就是保留几位小数。比方:365.20的Precision就是5,Scale就是2。
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859872-1078483206.png
  可以看到,已经新建了一个字段。
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859553-341336392.png
  在新建的字段名称上右键,选择“Calculate Geometry”。
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859554-270641525.png
  弹出了一个提示,大概意思是说:我没有在开启编辑模式的情况下进行字段盘算,那么这样会让盘算变得快一些,但是一旦盘算开始,就不能撤回。
  因此,追求盘算速率照旧追求可以撤回,依据大家的现实情况来就好。因为我这里数据不多,盘算也比较简朴,因此就直接选择了继承。
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859822-721546501.png
  点击“Yes”之后,在弹出的窗口中第一个“Property”下拉框中选择面积,也就是“Area”;此时发现我的“Area”后面跟着一个“Disabled”。为什么处于这种状态呢?
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859794-1985142671.png
  一般的,出现上述情况都是因为我们的面要素(也就是这个图层)处于地理坐标系,而并不是投影坐标系。二者最简朴的区别就是,地理坐标系用经度、纬度作为空间权衡指标,而投影坐标系用米、千米等长度单位作为空间权衡指标。
  那么,我们就来看看我们如今是不是处于地理坐标系状态。在图层列表中,右击我们当前的图层的名称,选择“Properties”。
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859873-549821247.png
  选择“Source”,可以看到,图层的地理坐标系统(“Geographic Coordinate System”)为WGS_1984,这是一个地理坐标系,而非投影坐标系。
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859801-1011235958.png
  因此,如果我们需要盘算面积,必须将这一图层转为投影坐标系。
  具体转换的方法,点击查看ArcGIS地图投影与坐标系转换的方法即可,这里就不赘述啦~
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859951-2095579829.png
  转换为投影坐标系后,打开新图层的属性表,可以看到我们刚刚新建的字段在这里也是存在的。
  依据同样的方法,打开“Calculate Geometry”,可以看到此时“Area”就不再带着“Disabled”了。
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859834-271664404.png
  其中,“Coordinate System”选择第一项,也就是图层自身的坐标系,也就是刚刚我们给他投影所选用的投影坐标系;“Units”是单位,大家依据现实情况来就好。我在这里选择平方米~
  点击“OK”。可以看到“Area”字段已经有面积了。
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859904-1026360810.png
  那么,我们对这个盘算出来的面积随机验证一下。用河南来验证,盘算面积为165982687427.8129平方米,也就是165982.69平方千米;我们看看现实面积:
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859822-1475750181.png
  差了大概1000平方千米。不能说很准确,但是照旧可以满足基本的大尺度地区分析了。在这里,精度误差可能的来源包罗所用省级行政区.shp文件精度、投影坐标系选用等。大家依据各自的研究需要,来决定需不需要对面积数据精度加以提升;可用的提升方法包罗更换投影坐标系、采用更精确的行政区图层等方法。
  再用北京试一下。盘算的面积为16394318646.91106平方米,也就是16394.32平方千米;现实面积:
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859922-1038495232.png
  这个就很准确了~
  那么,能不能求出图层中所有矢量要素面积的和呢?可以的——在“Area”字段名称上右键,选择“Statistics”。
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859862-676482697.png
  这里可以对全部字段的样本数量、极值、综合、平均值、尺度差、Null值个数等加以查看,非常方便。
https://img2024.cnblogs.com/blog/3080295/202404/3080295-20240415103859902-297021720.png
  至此,大功告成。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: ArcMap分别求取矢量要素各地区的面积