本文作者:Lily
0 内容导读
上周我们发了第十二届全国大学生GIS应用技能大赛试题中第一题的做法,今天分享第二题(下午第一题)。
操作软件:GeoScene Pro 4.0
下午的第1题是一道非常典型的针对栅格数据的空间分析题,题目如下:
1 整体解决思路
题目要求根据给定的公式,使用两种方法分别计算地形因子、植被覆盖与管理因子以及单位面积年土壤侵蚀量。
两个方法均有难点。下面我们详细拆分一下这两种方法。
方法1:
在计算地形因子LS1时,有两点需要注意:
一是三角函数的计算。Pro中的三角函数要求输入为弧度值,题目公式中给出的变量θ,单位为度,必须先乘以转换因子pi /180,将度转换为弧度。
二是坡面长度的定义。题目中没有明确提到坡面长度的计算方法,只是说其可以处理为投影长度,但是这个投影长度并不是简单的单个像元高程与坡度的空间关系,必须从坡面长度的定义上来判断其方法。坡长一般是指地面上一点沿水流方向到其流向起点的最大地面距离在水平面上的投影长度(《数字地形分析》周启鸣 一书),与题目对应。Pro中的水流长度工具正好可以计算地面上一点沿水流方向到其流向起点的最大地面距离。求得最大地面距离后再计算水平面投影长度,可以使用水流长度/COS坡度(从原理上说并不是特别准确,水流长度计算的是当前像元沿流向的累积长度,但是坡度是当前像元的坡度)。除此之外,计算水流长度前,需要首先计算流向,判断流向时还需要考虑是否进行填洼,填洼用于填平高程低于周围的凹陷点,避免对流向造成影响。
在计算植被覆盖与管理因子C1时,注意波段的选择。
方法2:
在计算地形因子LS2时,需要注意如何计算汇水累计量,即流量。
在计算植被覆盖与管理因子C2时,要特别注意NDVImin和NDVImax
取研究区内 NDVI 的最小值和最大值而不是直接用上一步计算的NDVI结果。
总体流程如下:
图1 整体流程图
2 详细实现步骤
2.1 环境设置
在分析菜单栏中,【地理处理】选项中选择环境,设置其处理范围为研究区,捕捉栅格与掩膜为ASTGTM_N28E107G.img。
图2 环境设置
2.2 计算地形因子LS1
2.2.1 填洼分析
使用【填洼】工具,对洼地进行填充。
图3 填洼分析
结果如下图 数据范围354~2177
图4 填洼后DEM
2.2.2 计算坡度
输入栅格为填洼后DEM 栅格数据。单位为度。
图5 坡度分析
结果如下图
图6 坡度结果
2.2.3 计算sinθ
使用栅格计算器求解sin值,表达式为Sin("坡度" * 3.141592654 /180 )。
图7 计算sinθ
结果如下图 数据范围0~0.953151
图8 Sinθ结果
2.2.4 计算β
使用栅格计算器求解β值,表达式为("sinθ"/0.0896)/(3* Power("sinθ",0.8)+0.56)。
图9 计算β
结果如下图 数据范围0~ 3.08609
图10 β值结果
2.2.5 计算m值
使用栅格计算器求解m值,表达式为"β" /("β" + 1)。
图11 计算m值
结果如下图 数据范围0~ 0.755268
图12 m值结果
2.2.6 流向分析
使用【流向】工具,分析填洼后DEM的流向。
图13 流向分析
结果如下图
图14 流向分析结果
2.2.7 水流长度分析
使用【水流长度】工具,计算每个像元沿水流方向到其流向起点的累积距离。测量方向为上游。
图15 水流长度分析
结果如下图(标准差) 数据范围0~127398
图16 水流长度结果
2.2.8 计算λ值
λ为坡面长度,可以通过水流长度/cosθ求得。
使用栅格计算器求解λ值,表达式为"水流长度" / Cos("坡度" * 3.141592654 /180)。
图17 计算λ值
结果如下图(标准差) 数据范围0~129889
图18 λ值结果
2.2.9 计算L值
使用栅格计算器求解L值,表达式为Power(("λ"/22.13),"m")。
图19 计算L值
结果如下图(百分比截断) 数据范围0~ 415.716
图20 L值结果
2.2.10 计算S值
S值需要通过坡度的大小来判断。这里选择使用con函数做条件判断。
使用栅格计算器求解s值,表达式为Con("坡度"<=5,10.8*"sinθ"+0.03, Con("坡度"<=10,16.8*"sinθ"-0.5,21.9*"sinθ"-0.96) )
图21 计算S值
结果如下图 数据范围0.03~ 19.914。
图22 S值结果
2.2.11 计算LS1值
使用栅格计算器求解LS 1值,表达式为L*S
图23 计算LS1值
结果如下图(标准差) 数据范围0~4403
图24 LS1值结果
2.3 计算地形因子LS2
2.3.1 计算流量
使用【流量】工具,计算流量。
图25 计算流量
效果如下图(标准差),数据范围0~3520256
图26 流量结果
2.3.2 计算LS2值
对照方法2计算LS2值,其中Flow Accum 为汇水累计量即流量,Cell Size 为栅格像元大小为30,slope 为坡度。
使用【栅格计算器】求解LS2值,表达式为Power(("流量" *30/22.13),0.4)* Power(("sinθ"/0.0896),1.3)。
图27 计算LS2值
结果如下图 (标准差) 0~ 4446.16。
图28 LS2值结果
2.4 计算植被覆盖与管理因子 C1
2.4.1 计算NDVI
地图视图中加载LC09_L2SP_127040_20220407_20230422_02_T1_SR_B5.TIF和LC09_L2SP_127040_20220407_20230422_02_T1_SR_B4.TIF,并在内容列表中重命名为NIR和R。
使用栅格计算器求解NDVI值,表达式为("NIR" -"R" ) /("NIR" +"R" )。
图29 计算NDVI
结果如下图 数据范围-0.0953235~ 0.509885。
图30 NDVI结果
2.4.2 计算C1值
使用栅格计算器求解C1值,表达式为Exp(-2*"NDVI" /(1-"NDVI") )。
图31 计算C1值
结果如下图
图32 C1值结果
C1范围从0.124846~ 1.19012。按照题目需要将负值改为0,极大值改为1。
2.4.3 更正C1值
使用【条件函数】工具,将大于1的值改为1。
图33 更正C1值
结果如下图 数据范围0.124846~1
图34 更正C值结果
2.5 计算植被覆盖与管理因子 C2
2.5.1 计算NDVI最大最小值
使用【按掩膜提取】工具,将NDVI数据按照研究区范围进行裁剪。
图35 提取研究区NDVI
结果如下图
图36 研究区NDVI
得到其最小值为-0.0659048,最大值为0.509885。
2.5.2 计算FVC值
使用栅格计算器求解FVC值,表达式为("NDVI"+0.0659048)/(0.509885+0.0659048)。
图37 计算FVC值
结果如下图 取值范围为-0.0510927 ~0.999999
图38 FVC结果
2.5.3 计算更新FVC值
使用【条件函数】工具,将负值赋值为0。
图39 更正FVC
结果如下图 数据范围0~0.999999
图40 更正FVC结果
2.5.4 计算C2值
根据给定条件将数据按照高中低三种植被覆盖区进行计算。
Con("更新后FVC">=0.5,0.0001+(0.003-0.0001)*(1-"更新后FVC"), Con("更新后FVC">0.4,0.01+(0.15-0.01)*(1-"更新后FVC"),0.1+(0.5-0.1)*(1-"更新后FVC")) )使用栅格计算器求解C2值,表达式为0.0001+(0.5- 0.0001) *(1-"更新后FVC")。
图41 计算C2值
结果如下图 数据范围0.0001~0.5
图42 C2结果
2.6 计算单位面积年土壤侵蚀量A
使用【栅格计算器】求解A值,表达式为392.9312 *0.0212 *0.7237 * "LS1" * "更正后C1"。
图43 计算A值
结果如下图(标准差) 数据范围0~ 18292.9
图44 A值结果
2.7 制作专题图
将结果A进行按照研究区进行掩膜提取。并隐藏除该图层之外其他图层。
图45 提取研究区A值
添加布局视图,加入当前地图视图,并设置比例尺为1:350000,大小为A4。
加入指北针、比例尺、图例以及名称。并导出。
最终结果如下
图46 专题图
3 总结
下午的第一道分析题反复用到了栅格计算器,根据题目中给到的对应算法转换到栅格计算器中即可。特别需要主要两个问题:
一是Pro中的三角函数要使用弧度值,对空间分析中得到的坡度等以度为单位的数据需要进行转换;
二是坡长的计算,这是地形学中的定义,需要结合一定的地形学定义使用Pro工具计算坡长。坡长在不同的参考文献中有不同的算法,这里我们给出了近似的一种,也可以选择使用其他方法。