1. 概述
在比较偏远的地方,往往会缺少水文信息,我们可以通过ArcGIS对高程DEM数据进行水文分析,为地表水流建立模型,进而获取到该地的水文信息,DEM数据精度越高,获取到的水文数据精度也就越高,这里,我们主要介绍水文信息中的水系河流的获取。
2. 获取高程数据
高程数据的获取方式有很多,比如从网上下载,也可以使用水经注万能地图下载器进行下载。高程数据的精度也有很多,比如SRTM 90m精度的DEM数据,谷歌的30m精度的DEM数据,还有12.5m精度的DEM数据,这里我们选取的是12.5m精度的高程DEM数据。
水经注万能地图下载器 (关注公众号“水经注GIS”"下载器"获取万能地图下载器软件安装包)
3. 填洼处理
将下载的高程DEM数据加载到ArcMap内,在ArcToolbox点击"Spatial Analyst工具\水文分析\填洼",如下图所示。
调用填挖工具
在显示的填洼对话框内,"输入表面栅格数据"选择加载的DEM数据,设置输出表面栅格,需要说明的是,为了保证成功输出,所有的输出目录尽量默认,如下图所示。
填洼设置
点击确定之后可以看到填洼后的效果,得到名字为"Fill_tif1"的填洼结果,由于Z限制为默认,所以所有的洼地都被填平了,如下图所示。
填洼后效果
4. 制作流向数据
在ArcToolbox中,点击"Spatial Analyst工具\水文分析\流向",如下图所示。
调用流向工具
在显示的流向对话框内,"输入表面栅格数据"选择上一步填洼后的栅格图,设置输出流向栅格数据,其余的默认,如下图所示。
流向分析设置
点击确定之后可以看到流向数据结果,如下图所示。
生成的流向数据
5. 制作流量数据
在ArcToolbox中,点击"Spatial Analyst工具\水文分析\流量",如下图所示。
调用流量工具
在显示的流量对话框内,"输入流向栅格"选择上一步生成的流向栅格数据,设置输出蓄积栅格数据,其余的默认,如下图所示。
流量设置
点击确定之后可以看到生成的流量栅格数据,如下图所示。
生成的流量栅格
6. 提取河流水系
得到流量数据之后,可以根据流量和流向数据获取到河流水系数据,在Arctoolbox内,点击"Spatial Analyst 工具\地图代数\栅格计算器",如下图所示。
调用栅格计算器
在显示的栅格计算器对话框中输入下面的公式,Con("FlowAcc_Flow2">800,1),FlowAcc_Flow2为上一步得到的流量栅格,此公式将流量大于800的栅格数值全部设置为1,如下图所示。
栅格计算器公式
点击确定之后可以看到重新计算后的栅格效果,如下图所示。
栅格计算结果
在ArcToolbox中,点击"Spatial Analyst工具\水文分析\栅格河网矢量化",如下图所示。
调用栅格河网矢量化工具
在显示的栅格河网矢量化对话框内,"输入河流栅格数据"选择上一步重新计算后的河流栅格,"输入流向栅格数据"选择之前制作流向数据得到的流向数据,设置输出折线要素,其余默认,如下图所示。
栅格河网矢量化设置
点击确定之后可以看到矢量化后的河网水系数据,如下图所示。
生成的矢量河网水系
7. 平滑河流
如果DEM精度比较高的情况下,可以不用平滑生成的水系数据,为了看起来比较好看,可以对水系进行平滑处理,在矢量化后的河流水系图层上点击右键,选择"编辑要素\开始编辑",进入编辑状态,如下图所示。
开始编辑
在矢量化后的河流水系图层上点击右键,选择"打开属性表",打开属性表,如下图所示。
打开属性表
在打开的属性表内,将所有的要素全部选择上,如下图所示。
全选属性表
在编辑工具条上点击,"编辑器\更多的编辑工具\高级编辑"打开高级编辑工具条,如下图所示。
打开高级编辑工具
在高级编辑器工具条上点击"平滑"按钮,如下图所示。
点击平滑按钮
在显示的平滑处理对话框中输入参数允许最大偏移为4,如下图所示。
设置允许最大偏移
点击确定并保存后得到平滑后的河流水系矢量数据,如下图所示。
平滑后河网水系
将生成的河网水系加载到下载器中和卫星图叠加,可以看到效果很好,如下图所示。
下载器中显示效果
8. 结语
以上就是使用ArcGIS从DEM数据中提取水系的详细说明,主要包括了获取高程数据、填洼处理、制作流向数据、制作流量数据、提取河流水系和平滑河流等功能。