山脊,指山高处像兽脊凸起的部分。是由两个坡向相反坡度不一的斜坡相遇组合而成条形脊状延伸的凸形地貌形态。山脊最高点的连线就是两个斜坡的交线,叫做山脊线。等高线,向低处凸的是山脊。山脊是连成一排的山峰,山峰之间连成一条长线,好像动物的脊骨有一条突出的线条,故名山脊线。这里,我们介绍一下如何使用ArcGIS生成山脊线。
一、数据来源
DEM数据如实验(2)[1]
加载数据
二、提取正地形
为了消除那些存在于负地形区域中的错误的山脊线,最后需要正地形和得到的结果进行乘法运算,所以需要先准备正地形栅格数据。
在ArcToolbox内点击“Spatial Analyst工具\邻域分析\焦点统计,调用焦点统计工具。
调用焦点统计工具
在显示的焦点统计对话框内,输入下载的DEM数据,设置邻域高度和宽度为10。点击确定之后得到统计栅格,如下图所示。
在ArcToolbox内点击“Spatial Analyst工具\地图代数\栅格计算器”,调用栅格计算器工具。
在显示的栅格计算器对话框内,输入下面公式:"dem" - "Focal_St"。点击确定之后得到计算结果,如下图所示。
在ArcToolbox内点击“Spatial Analyst工具\重分类\重分类”,调用重分类工具。
在显示的重分类对话框内,以值0为界,小于0赋值为0,大于0赋值为1,点击确定之后可以看到重分类后的效果,如下图所示。
三、提取山脊线
在ArcToolbox内点击“Spatial Analyst工具\水文分析\填洼”,调用填洼工具。在显示的填洼对话框内,输入表面栅格数据为下载的dem数据,点击确定后可以得到填洼后的栅格,如下图所示。
在ArcToolbox内点击“Spatial Analyst工具\水文分析\流向”,调用流向工具。
在显示的流向对话框内,输入表面栅格为上一步填洼后的栅格,如下图所示。点击确定之后可以得到流向的效果。
在ArcToolbox内点击“Spatial Analyst工具\水文分析\流量”,调用流量工具。
在显示的流量对话框内,输入流向栅格数据为上一步得到的流向结果点击确定之后得到流量栅格。
在ArcToolbox内点击“Spatial Analyst工具\地图代数\栅格计算器”,调用栅格计算器工具。在显示的栅格计算器对话框内,输入下面的公式:"F_Ac" == 0,获取流量为0的区域。点击确定后得到计算结果,如下图所示。
通过邻域分析平滑山脊线,在ArcToolbox内点击“Spatial Analyst工具\邻域分析\焦点统计”,调用焦点统计工具。
在显示的焦点统计对话框内,输入栅格为上一步栅格计算后的栅格点击确定之后得到统计结果,如下图所示。
为了判断重分类的阈值,需要先生成等高线和山体阴影帮助判断。
在ArcToolbox内点击“Spatial Analyst工具\表面分析\等值线”,调用等值线工具。
在显示的等值线对话框内,输入栅格选择下载的dem数据,等值线间距设置为30,点击确定之后生成等高线,效果如下图所示。
在ArcToolbox内点击“Spatial Analyst工具\表面分析\山体阴影”,调用山体阴影工具。
在显示的山体阴影对话框内,输入栅格为下载的dem数据。。
点击确定之后可以看到生成的山体阴影,如下图所示。
在焦点统计的栅格图上点击右键,选择属性,如下图所示。
在显示的图层属性对话框内,选择符号系统选项卡,选择已分类,类别设置为2,以等值线图和晕渲图作为辅助判断,不断地调整分类的临界值,属性值越接近1的栅格越有可能是山脊线的位置,最终确定分类阈值为0.52585。
在ArcToolbox内点击“Spatial Analyst工具\重分类\重分类”,调用重分类工具。
在显示的重分类对话框内,将阈值(0.52585)以下赋值为0,阈值(0.52585)以上赋值为1点击确定之后可以得到重分类结果,如下图所示。
为了排除负地形的影响,需要将重分类结果和正地形相乘。
在ArcToolbox内点击“Spatial Analyst工具\地图代数\栅格计算器”,调用栅格计算器工具。
在显示的栅格计算器对话框内,输入下面的公式:"Reclassify " * " Reclassify2 ",其中" Reclassify2 " 为上一步重分类结果," Reclassify "为最开始得到的正地形。点击确定之后可以得到栅格计算结果,
在ArcToolbox内点击“Spatial Analyst工具\重分类\重分类”,调用重分类工具。在显示的重分类对话框内,输入栅格为上一步的计算结果,将0赋值为NoData,1赋值为1。
点击确定之后可以得到山脊线如果需要将山脊线提取成矢量,可以在ArcToolbox内点击“转换工具\由栅格转出\栅格转折线”将山脊线栅格转换为矢量。