网友投稿 | 设为首页 | 加入收藏
1/1页1 跳转到查看:11706
回复该主题 发新话题
键盘左右键可以进行前后翻页操作
帮助

ArcMap自动提取山脊线和山谷线

ArcMap自动提取山脊线和山谷线

arcmap 自动提取山脊线和山谷线的方法 1 平面曲率与坡形组合法


来自汤国安《ARCGIS地理信息系统空间分析实验教程》PAGE349
基于规则格网 DEM是最主要的自动提取山脊线和山谷线的方法,从算法设计原理上来分,大致可以分为以下五种:
1) 基于图像处理技术的原理;
2) 基于地形表面几何形态分析的原理;
3) 基于地形表面流水物理模拟分析原理;
4) 基于地形表面几何形态分析和流水物理模拟分析相结合的原理;
5) 平面曲率与坡形组合法。
平面曲率与坡形组合法提取的山脊、山谷的宽度可由选取平面曲率的大小来调节,方法简便,效果好。该方法基本处理过程为:首先利用 DEM数据提取地面的平面曲率及地面的正负地形,取正地形上平面曲率的大值即为山脊,负地形上平面曲率的大值为山谷。实际应用中,由于平面曲率的提取比较繁琐,而坡向变率(SOA)在一定程度上可以很好地表征平面曲率。因此,下面的提取过程以 SOA代替平面曲率。
具体提取过程为:
1) 激活 DEM 数据,在 Spatial Analysis 下使用surface 菜单下的Derive Aspect 命令,提取 DEM 坡向层面,记为 A;
2) 激活 A 层面,在 Spatial Analysis 下使用 surface 菜单下的 Derive Slope 命令,提取A 层面的坡度信息,记为 SOA1;
3) 求取原始 DEM 数据层的最大高程值,记为 H;通过 Spatial Analysis 下的栅格计算器Calculator,公式为(H-DEM),得到与原来地形相反的 DEM 数据层,即反地形 DEM 数据;
4) 基于反地形 DEM 数据求算坡向值;
5) 利用 SOA 方法求算反地形的坡向变率,记为 SOA2;
6) 在Spatial Analysis 下使用栅格计算器 Calculator,公式为SOA =(([SOA1]+[SOA2])-Abs([SOA1]-[SOA2]))/ 2,即可求出没有误差的 DEM 的坡向变率SOA;
7) 激活原始 DEM 数据,在 Spatial Analysis 下使用栅格邻域计算工具 Neighborhood Statistics;设置 Statistic type 为平均值,邻域的类型为矩形(也可以为圆) ,邻域的大小为 275×275 MAP,则可得到一个邻域为 275×275 MAP的矩形的平均值层面,记为 B;
8) 在 Spatial Analysis 下使用栅格计算器 Calculator,公式为 C =[DEM]-,即可求出正负地形分布区域,
9) 在 Spatial Analysis下使用栅格计算器 Calculator,公式为 D =[C] >0 & SOA > 70,即可求出山脊线;
10)同理,在栅格计算器 Calculator 中,修改公式为 D =[C] < 0 & SOA > 70,即可求出山谷线。
——当生活累的时候,坐下来喝杯茶吧——

TOP

 

通过集水线和分水线的算法算的。

TOP

 

学习了,谢谢!

TOP

 

回复 1# 全拿走 的帖子

实验课的时候做过,很牛叉,顶一个

TOP

 

非常好用,谢谢分享

TOP

 

方法很不错啊

TOP

 

非常好用,谢谢分享

TOP

 

进行到最后一步出错,/(ㄒoㄒ)/~~

ERROR 000539: Error running expression: rcexec()
Traceback (most recent call last):
  File "<expression>", line 1, in <module>
  File "<string>", line 5, in rcexec
ValueError: The truth value of a raster is ambiguous. Invalid use of raster with Boolean operator or function. Check the use of parentheses where applicable.

Failed to execute (RasterCalculator).

TOP

 
1/1页1 跳转到
回复该主题 发表新主题
  <<上一主题 | 下一主题>>