作者:Carlo
前景:利用水文分析提取山脊线及山谷线,山脊线相当于分水线,山谷线相当于汇水线。
分水线是水流的起源点,这些栅格的水流方向只存在流出方向而不存在流入方向,所以汇流累积量为零。通过对零值的提取就可以得到山脊线。
山谷线相当于汇水线要用反地形求出,即用较大值减去DEM,DEM中山脊线就成为山谷线,山谷线变为山脊线,用求山脊线的方法求出山谷线,分别利用正反地形求交验证。
DEM进行填洼,利用水文分析求出流向流量,再提取出汇流累积量为零得值与正地形求交,即得到分水线也就是山脊线。用反地形求流向流量提取汇流累积量为零的部分与负地形求交就是山谷线。
参考文章:教你如何利用水文,分析提取山脊线山谷线
目录
1.提取正负地形
1.1加载DEM数据
在“空间分析”中选择“栅格分析->栅格统计->领域统计”工具,输入dem,利用11*11窗口计算平均值。设置如图1-1所示。
1.2栅格运算
在“数据“中选择“数据处理->栅格->代数运算”工具,对原始数据与焦点统计后的DEM做减法如图1-2所示。结果如图1-3所示。
1.3栅格重分级
在“数据”中选择“数据处理->栅格->栅格重分级”工具,对减法运算结果进行重分类,分级界线为0。将大于0的区域赋值为1,小于0的区域赋值为0即得到正地形,设置如图1-4所示,结果如图1-5所示。将大于0的区域赋值为0,小于0的区域赋值为1即得到负地形,设置如图1-6所示,结果如图1-7所示。
2.山脊线的提取
2.1填洼
加载DEM数据,在“空间分析”中选择“水文分析->填充伪洼地”工具,输入DEM进行填洼,设置如图2-1所示。
2.2流向计算
在“空间分析”中选择“水文分析->计算流向”工具,输入填洼后的DEM,得到流向数据,设置如图2-2所示。
2.3汇流累积量
在“空间分析”中选择“水文分析->计算汇水量”工具,输入流向数据,得到流量数据,设置如图2-4所示,结果如图2-5所示。
2.4汇流累积量为0值得提取
在“数据”中选择“数据处理->栅格->代数运算”工具,输入公式如图2-6所示,结果如图2-7所示。
2.5邻域分析
在“空间分析”中选择“栅格分析->栅格统计->领域统计”工具,对提取出来的0值结果进行3x3邻域分析,求均值,是数据光滑。设置如图2-8所示,结果如图2-9所示。
2.6生成等值线
在“空间分析”中选择“表面分析->提取等值线/面->提取所有线”工具,输入原始DEM数据生成间距为40的等值线。设置如图2-10所示,结果如图2-11所示。
2.7生成山体阴影
在“空间分析”中选择“表面分析->地形计算->三维晕渲图”工具,输入原始DEM,其他设置按默认如图2-12所示,结果如图2-13所示。
2.8栅格重分级
在“数据”中选择“数据处理->栅格->栅格重分级”工具,对求均值后的0值汇流累积量数据进行重新分级,将数据分为两级,调整临界点,以等值线图和晕渲图进行判断,属性值越接近1越可能是山脊线位置,确定分界阈值为0.5541。将属性直接近1的的一类属性值设为1,其余的设为0。设置如图2-14所示。
2.9代数运算
在“数据”中选择“数据处理->栅格->代数运算”工具,将重分类后的数据与正地形数据相乘,可以消除存在于负地形区域的错误山脊线,如图2-15。然后将计算结果重分类,属性不为1的栅格设为NODATA,就得到了山脊线,设置如图2-16,结果如图2-17所示,深色区域为山脊线。
3. 山谷线的提取
3.1代数运算
在“数据”中选择“数据处理->栅格->代数运算”工具计算反地形,公式为Abs(dem-2000),得到反地形数据。如图3-1所示。
3.2填洼
在“空间分析”中选择“水文分析->填充伪洼地”工具,输入反地形数据进行填洼,设置如图3-2所示.
3.3流向计算
在“空间分析”中选择“水文分析->计算流向”工具,输入填洼后的数据,得到流向数据,设置如图3-3,结果如图3-4所示。
3.4汇流累积量
在“空间分析”中选择“水文分析->计算汇水量”工具,输入流向数据,得到流量数据,设置如图3-5,结果如图3-6所示。
3.5汇流累积量为0值的提取
在“数据”中选择“数据处理->栅格->代数运算”工具,输入公式如图3-7所示,结果如图3-8所示。
3.6邻域分析
在“空间分析”中选择“栅格分析->栅格统计->领域统计”工具,对提取出来的0值结果进行3x3邻域分析,求均值,是数据光滑。设置如图3-9所示,结果如图3-10所示。
3.7生成等值线
在“空间分析”中选择“表面分析->提取等值线/面->提取所有线”工具,输入反DEM数据生成间距为40的等值线。设置如图3-11所示,结果如图3-12所示。
3.8生成山体阴影
在“空间分析”中选择“表面分析->地形计算->三维晕渲图”工具,输入反地形DEM,其他设置按默认如图3-13所示,结果如图3-14所示。
3.9栅格重分级
在“数据”中选择“数据处理->栅格->栅格重分级”工具,对求均值后的0值汇流累积量数据进行重新分级,将数据分为两级,调整临界点,以等值线图和晕渲图进行判断,属性值越接近1越可能是山脊线位置,确定分界阈值为0.65667。将属性直接近1的的一类属性值设为1,其余的设为0。设置如图3-15所示。
3.10代数运算
在“数据”中选择“数据处理->栅格->代数运算”工具,将重分类后的数据与负地形数据相乘,可以消除存在于正地形区域的错误山脊线,如图3-16。然后将计算结果重分类,属性不为1的栅格设为NODATA,就得到了山谷线,设置如图3-17,结果如图3-18所示,浅色区域为山谷线。