一 基本思路
栅格数据 -> 矢量数据 -> 对矢量数据进行投影 -> 计算面积
这里的计算栅格图面积的方法本质上和计算矢量图面积的方法差不多,只是多了一步栅格转矢量。
二 操作步骤
以北京市为例来计算面积。
下面一张北京市的土地利用现状栅格图。
1.栅格数据转换为矢量数据
转好之后的结果如下图所示:
2.对矢量数据进行投影
这里选择的是UTM投影(北京市位于50N带,下面框起来的与投影相关的一些参数,可以看到长度单位为米),也可以选择高斯投影等其他投影。
投影后的图如下:
3.计算总面积
打开投影后的图的属性表,可以看到图中每一个面状要素的长度和面积已经自动计算出来了,把每个块的面积加起来得到的总和即是北京市的面积。
属性表:
求和:
可以看到总面积为16393878564.519615平方米,约为16393.87平方千米(公里)。
4.计算每一类用地的面积
从上图中,可以看出北京市共有九种不同利用类型的土地。
利用ArcToolBox中的summary statistic工具可以计算每一类用地的总面积。计算思路为:根据土地利用类型(这里为gridcode)对面要素分类 -> 计算每一类下所有面要素的面积之和。
打开生成的表格,可以看到每一类用地的面积已经计算出来了。
三 注意和问题
1.以上操作,数据都是放在空间数据库中的,打开投影后的图的属性表,可以看到arcgis已经自动添加了shape_length,shape_area字段。如果投影后的图以shp文件的形式存放,有时不会自动添加shape_length,shape_area字段,有时出现的shape_length,shape_area字段中保存了一些“错误”的值(这些值不知道是如何得到的)。因此,如果投影后的图以shp文件的形式存放时,最好自己添加一个面积字段,然后通过如下所示的方法得到每个面要素的面积。
2.计算面积和长度都要在投影坐标系下计算,如果图中只有地理坐标系是无法直接计算面积和长度的。
3.上面采用的是UTM投影,也可以采用高斯投影等等。但UTM投影,高斯投影都是等角投影,因此面积应该会有误差。最好的方法是采用等面积投影,等面积投影相关资料很少,我查找了很多地方,都没找到清楚的可以使用的等面积投影方法。