超详细讲解ArcGIS中地形指标的提取(附练习数据下载)
地形指标是最基本的自然地理要素(包括坡度变率、坡向变率、地形起伏度和地面粗糙度这4个基本的地形指标),也是对人类的生产和生活影响最大的自然要素。地形特征制广泛应用于诸多研究和应用领域。地形指标的提取对水土流失、土地利用、土地资源评价、城市规划等方面的研究起着重要的作用。根据研究区域尺度的不同,地形指标有许多因子。基于ArcGIS的地形指标的提取,大多均是基于DEM数据完成的。
1.坡度变率(剖面曲率)
地面坡度变率是指地面坡度在微分空间的变化率,是依据坡度的求算原理,在所提取的坡度值的基础上对地面每一点再求算一次坡度,即坡度之坡度(Slope of Slope,SOS)。坡度是地面高程的变化率的求解,因此坡度变率代表了地表面高程相对于水平面变化的二阶导数。坡度变率在一定程度上可以很好反映剖面曲率信息,也就是地表高程变化率大小。
提取方法:
1.使用【坡度】工具,对目标DEM高程数据提取坡度图层“slope”;
2.再次使用【坡度】工具,对“slope”坡度数据二次提取坡度,得到坡度变率数据“SOS”;
这是第一次提取坡度后的数据:
这是对坡度图层进行再次坡度提取后的数据,细心观察会发现该数据红色高值就是前面坡度图层落差大的地方,也就是地势急剧变化的区域,最典型的就是河岸附近了。
2.坡向变率(平面曲率)
地面坡向变率是指在提取坡向的基础上提取坡向的变化率,也叫坡向之坡度(Slope of Aspect,SOA)。它可以很好地反映等高线的弯曲程度。地面坡向变率在所提取的地表坡向矩阵的基础上沿袭坡度的求算原理,提取地表局部微小范围内坡向的最大变化情况。需要注意的时:SOA在提取过程中在北面坡将会有误差产生。北面坡坡向值范围为0°~90°和270°~360°,在正北方向附近,如15°~345°两个坡向差值只是30°,而计算结果却是330°,所以要将北坡地区的坡向变率误差进行纠正。
提取方法:
1. 求取原始DEM数据层的最大高程值,这个可以通过图层目录数据的值域或者直接右键图层属性,查看“源”选项卡下面的统计信息,很明显该高程数据的最高海拔大约是492.72米。
2. 打开【Spatial Analyst工具】|【地图代数】【栅格计算器】工具,输入公式为FDEM=492.72-DEM,得到与原来地形相反的DEM数据层“FDEM”
3.使用【坡向】工具,对“FDEM”数据提取坡向得到坡向数据“FDEM1”,然后对“FDEM1”数据使用【坡度】工具提取坡度,得到反地形的坡向变化率数据“SOA2”,结果图层如下所示:
4.和前面提取“SOA2”数据一样,先使用【坡向】工具,对原始DEM数据提取坡向得到坡向数据“DEM1”,然后对该数据使用【坡度】工具提取坡度,得到原始DEM数据的坡向变化率数据“SOA1”,结果图层如下所示:
一眼看上去感觉这两个结果一模一样,但是仔细观察会发现还有有一定的差别。
5.再次使用【栅格计算器】,输入公式为:SOA=((SOA1+SOA2)-abs(SOA1-SOA2))/2,即可得到无误差的DEM坡向变率,结果图层如下所示:
3.地形起伏度
地形起伏度是指在特定区域内,最高点海拔和最低点海拔的插值(极差)。它是描述一个区域地形特征的宏观性指标。【Spatial Analyst工具】里面的【邻域分析】【焦点统计】可以直接生成起伏度成本数据QFD,工具位置以及相关参数设置如下图所示:
统计类型选择为“RANG”意思是计算12*12(这个看具体情况选邻域范围)的矩形栅格像元内的像元值极差,由于是DEM高程数据,所以该统计结果就是这个区域内的高差(即起伏度)。
还有一种方法就是依然使用【焦点统计】工具,但是统计类型分别选择MAX和MIN,其他参数不变,分别得到两个数据层A和B,最后再使用【栅格计算器】输入公式:A-B,得到该图层内相同邻域范围内的极差。
4.地面粗糙度
地面粗糙度是特定的区域内地球表面积与其投影面积之比。它也是反映地表形态的一个宏观指标。根据地面粗糙度的定义,求每个栅格单元的表面积与其投影面积之比,可以用如下方法来完成假如ABC是一个栅格单元的纵剖面,a为此栅格单元的坡度,则AB面的面积(AB*AC)为此栅格的表面积,AC面的面积(AC*AC)为此栅格的投影面积(也既是此栅格分辨率平方),此栅格单元的地面粗糙度M=“AB面的面积”/“AC面的面积”=(AC*AB)/(AC*AC)=AB/AC=1/Cosa。地面粗糙度的提取步骤如下:
1.点击DEM数据层,选择【Spatial Analyst 工具】|【表面分析】【坡度】工具,提取得到坡度数据层,命名为“Slope”;
2.需要注意的是在Arcmap中,cos使用弧度值作为角度单位,但是使用【坡度】工具提取的坡度值是角度单位,所以在计算时应该提前把角度单位转化为弧度单位,即在角度值后面乘上Π/180。打开【Spatial Analyst工具】|【地图代数】【栅格计算器】工具,公式为:1/Cos(“Slope”*3.14159/180),即可得到地面粗糙度数据层,结果图层如下图所示:
- END -