Bootstrap

ArcGIS计算多个面要素范围内栅格数据各数值的面积

  本文介绍在ArcMap软件中,基于面积制表工具(也就是Tabulate Area工具),基于1面要素数据集1栅格数据,计算每一个面要素中各栅格数据分布面积的方法。

  首先,来看一下本文的需求。现有一个矢量面要素集,其由多个椭圆形的面图层组成;同时还有一个栅格数据底图,其表示不同的地物类型。如下图所示,黄色的圆形就是要素数据集,而其下方红色、粉色、蓝色等区域就是栅格数据。

  我们现在希望,对于要素数据集中的每一个面要素(也就是上图中的每一个椭圆形),计算其中不同地物类型各自的面积。

  接下来,就可以开始操作。首先需要注意,如果需要求取面积,那么需要保证图层的坐标系是投影坐标系,如下图所示。如果不是的话,可以参考文章ArcGIS矢量图层投影与地理坐标系转为投影坐标系——ArcMap(https://blog.csdn.net/zhebushibiaoshifu/article/details/115216717)中的方法,将地理坐标系转为投影坐标系

  接下来,依次选择“Spatial Analyst Tools.tbx”→“Zonal”→“Tabulate Area”工具,如下图所示。

  接下来,配置工具的参数,如下图所示。其中,第一个参数就是矢量面要素,第三个参数则是栅格文件数据;第二个参数需要注意,这个是用来指定——究竟要以哪个字段来确定要素的分组的;这里按照大家的实际情况来选择即可。但是,对于第二个参数需要注意,如果这个参数选择的是一个均为汉字的字段,后期分组时只保留字段的前3个汉字,这就需要保证我们每一个要素的这个字段的前3个字不能有一样的。所以如果大家是希望让每一个要素单独为一组,那么就直接选择其FID字段就可以——因为这个字段是ArcMap软件自动生成的,有点类似数据库中的主键,其可以保证每一个要素的这个数值都不重复。

  执行上述工具,我们将得到1张结果表,如下图所示。通过在其名称上方右键的方式,可以选择“Open”将其打开。

  其中,得到的结果如上图所示。可以看到,标黄的那一列就是我这里作为分组依据的那一列(也就是前述第二个参数);其后的4列,也就是VALUE_10VALUE_30等这4列,就是我这里栅格数据中的4种地物类型,这4列的数值就是——这种地物类型,在对应的椭圆形面要素中的面积。

  至此,大功告成。

欢迎关注:疯狂学习GIS

;