1、实验16 地表水文分析 一、 实验目的 1. 了解单流向水文模型中的基本概念和建立地表径流模型的基本方法; 2. 熟悉水文学上出水口,河网,集水流域,径流强度指数,地形湿度指数等基本概念; 3. 掌握利用ArcGIS中的水文分析工具来提取流域和地表径流特征;注意区别栅格和矢量两种特征表达的方法;径流强度指数和地形湿度指数的计算方法。 二、 实验背景 地表水文分析应用于与地表水流有关的诸多领域,对地球表面形状的理解也具有十分重要的意义。利用ArcGIS的水文分析工具,建立地表水的运动模型,辅助分析地表水流从哪里产生以及要流向何处,再现水流的流动过程,有助于了解排水系统和地表水流过程的
2、一些基本的概念和关键的过程。 (1) 无洼地DEM 由于数据噪音、内插方法的影响,DEM数据中常常包含一些“洼地”(被较高高程区域围绕的低地)。有些洼地是在DEM生成过程中带来的数据错误,有些则表示真实的地形如采石场或岩洞等。“洼地”将导致流域水流不畅,不能形成完整的流域网络,因此在利用模拟法进行流域地形分析时,要首先对DEM数据中的洼地进行处理。 去除洼地最常用的方法是对DEM做平滑处理,然后再填充。其方法是利用一个小窗口在整个DEM上进行遍历。首先判断窗口中心点是否比四周点的高程都低,如果低,即认为这个点是洼地点。若是洼地点,泽将洼地点的高程值改为它4个方向中高程最小的值。则将洼地点
3、的高程值改为它4个方向中高程最小的值。 (2) 单流向模型 水流方向的计算是水文分析的关键步骤,用它来进一步确定汇水面积,水流长度,汇水流域等重要的水文参数。水流方向编码如图16-1所示。 水流的流向是通过计算中心栅格与邻域栅格的最大距离权落差来确定的。距离权落差是指中心栅格与邻域栅格的高程差除以两栅格间的距离,栅格间的距离与方向有关,如果邻域栅格对中心栅格的方向值为2、8、32、128,则栅格间的距离约为1.414,否则距离为1。如果高程差为正值,则为流出。为负值则为流入。 (3) 汇流积累量 在地表径流模拟过程中,汇流累积量是基于水流方向数据计算而来的。对每一个栅格来说,其汇流累
4、积量的大小代表着其上游有多少个栅格的水流方向最终汇流经过该栅格,汇流累积的数值越大,该区域越易形成地表径流。由水流方向数据到汇流累积量计算的过程如图16-1所示。汇水面积为汇流积累量乘以每个像元的面积。 图16-1 流水累积量的计算 (4) 河网 基于地表径流漫流模型,当汇流累积量达到一定值的时候,就会产生地表水流,那么所有那些汇流量大于那个临界数值的栅格就是潜在的水流路径,由这些水流路径构成的网络,就是河网。 (5) 出水口 确定小级别的流域的出水口的位置(汇流点)是进行流域分割的前提。结合数字高程模型和高分辨率的航空像片来目视确定小级别的流域出水口的位置;接下来,利用ArcT
5、oolbox中spatial analysis tools\hydrology\snap pour point捕捉节点工具使出水口的位置符合DEM模型。snap pour point的思想是利用一个记录着point点栅格数据,在这个数据层中,那些属性值存在的点作为潜在的出水点,在该点位置上在指定距离内在汇流累积量的数据层上搜索那些具有较高汇流累积量栅格点的位置,这些搜索到的栅格点就是小级别的流域的出水点。 (6) 集水流域 集水流域(集水区域;流域盆地)是地表水与地下水分水线所包围的集水区或汇水区,习惯上以地表水的分水线来确定,可以根据地形图勾勒出流域的分水线。 (7) 径流强度指数
6、径流强度指数(Stream Power Index,SPI)用来测量水流侵蚀能力,可以被定义: 其中:As是汇水面积;β是坡度。 小提示: 函数tan要求坡度的单位是弧度,所以需要将提供的坡度单位(度数,degree)转为弧度(radians),具体方法是: radians = degrees *π / 180 (8) 地形湿度指数 地形湿度指数(topographic wetness index)可定量模拟流域内土壤水分的干湿状况,在流域的土壤及分布式水文模型等研究中具有重要的意义。地形湿度指数可以被定义为: 其中:As是汇水面积;β是坡度。 三、 实验内容 1 基于单水流
7、模型,利用DEM数据生成流域的基本结构:河网,出水口,集水流域,集水盆地。 2 利用DEM数据计算径流强度指数和地形湿度指数的方法。 3 实验数据 数据路径:E16 路径 文件名称 格式 说明 \ \mn_ws_clip grid 30米分辨率的数字高程模型,位于美国明尼苏达河流域 \ \orthoimage image 研究区1米分辨率的正射航空像片,用于辅助目视解译 4 实验步骤 1. 空间分析环境的设置 分别在ArcMap和ArcCatalog的主菜单上点击Tools\Extensions,打开Extensions对话框中,点击选中Spatial An
8、alysis,3D Analyst和Network Analysis前的复选框,添加拓展模块。 本次实验中用到的所有水文分析工具均在ArcToolBox\Spatial Analyst Tools\Hydrology工具箱中,如图16-2所示。 图16-2 2. 洼地填平 (1) 在ArcMap中,添加DEM图层。 (2) 打开ArcToolbox,在ArcToolbox列表框中点击Spatial Analysis Tools\ Hydrology,双击Fill工具,打开Fill操作的对话框。 (3) 从列表中选择要进行填充的DEM图层,确定输出文件的名称及路径,如图16-3所
9、示,点击【OK】按钮。 图16-3 (4) 填平结果会自动加载到ArcMap中显示,如图16-4所示。 图16-4 小提示: 在ArcGIS中,只有被填充后无洼地的DEM才可进行水流方向的计算。 3. 水流方向的计算 (1) 打开Arctoolbox,在Arctoolbox列表框中点击Spatial Analysis Tool\Hydrology,双击Flow Direction,打开Flow Direction操作的对话框。 (2) 在Input surface raster下拉列表框中选择经过填充的DEM图层,在Output flow direction raster文
10、本框中确定输出文件的名称及路径,点击【OK】按钮。 图16-5 (3) 计算结果会自动加载到ArcMap中显示,如图16-6所示。 图 16-6 4. 汇流累积量的计算 (1) 打开Arctoolbox,在Arctoolbox列表框中点击Spatial Analysis Tool\Hydrology,双击Flow Accumulation,打开Flow Accumulation操作的对话框。 (2) 在Input flow direction raster下拉列表框中选择水流方向图层,确定输出文件的名称及路径,并将输出数据类型选为整型(Integer),如图16-7所示
11、点击【OK】按钮。 图 16-7 (3) 计算结果会自动加载到ArcMap中显示,如图16-8所示。 图 16-8 5. 河网的生成 (1) 打开Arctoolbox,在列表框中点击Spatial Analysis Tools\Conditional,双击Con,打开Con操作的对话框。 (2) 在Input conditional raster下拉列表框中选择汇流累积量的图层,在Input true raster or constant value(经条件判断后的真值)文本框中输入1,确定输出文件的名称及路径。 (3) 点击Expession右侧的表达式编辑按钮,打开Qu
12、ery Builder对话框,编辑空间查询语句,如图16-9所示,点击【OK】按钮。 图 16-9 (4) 参数设置完成后Con操作的对话框如图16-10所示,点击【OK】按钮。 图 16-10 (5) 生成的河网会自动加载到ArcMap中显示,如图16-11所示。 图 16-12 图 16-11 小提示: 1. 仔细检查结果,会发现生成的河网数据有些时候会存在一些不完美的地方,如图16-12 所示。 2. 在Con操作中,当栅格数据是双精度(double)型时,空间查询语句(SQL :Spatial Query Language)的编辑功能无法使用,在这种情况
13、下用户可手动地在文本框中输入空间查询语句。 3. 使用Spatial Analysis Tools\ Hydrology\Stream to Feature工具,可以将生成的栅格河网转换为矢量河网。也可以在ArcMap中,利用Spatial Analysis或3D Ananlysis工具条里的Covert\Raster to Feature功能选项来实现。 4. 使用Spatial Analysis Tools\ Hydrology\Stream Link和Stream Order工具,分别生成河段数据和河段的等级体系。 6. 出水口的确定 (1) 在ArcCatalog中,新建一个点
14、状要素图层(shapefile格式,命名为outlets)。 (2) 在ArcMap中,加载点状数据图层,并加载DEM及正射影像图作为确定出水口的参考底图。 (3) 编辑outlets图层,数字化“outlets”,结果如图16-20所示。 (4) 保存编辑成果,退出编辑。 (5) 打开“outlets”图层的属性表,在属性表的右下方点击【Options】按钮,在弹出的快捷菜单中点击Add Field选项,增加一个新字段(字段名ID,字段类型为整型),该字段在生成集水区域时将作为必要的输入参数。 (6) 重新设置“outlets”图层的编辑状态为可编辑。 图 16-20 (7
15、) 编辑其ID字段的属性,如图16-21所示。 (8) 退出编辑,保存编辑成果。 图 16-21 (9) 在ArcToolbox中,在ArcToolbox列表框中点击Spatial Analysis Tools\Hydrology,双击Snap to the points,打开Snap to the points(捕捉汇流点)对话框,设置参数,如图16-22所示,点击【OK】按钮,完成汇水累计量对出水口的位置的校正。 图16-22 小提示: 出水口的位置应该用基于DEM生成的汇水累计量进行校正,即让地理模型和水文模型的逻辑上进行统一,这样才能利用出水口数据来正确地生成集水流域。
16、 7. 流域的分割 (1) 打开Arctoolbox,点击列表框中Spatial Analysis Tool\Hydrology,双击Watershed,打开Watershed操作的对话框。 (2) 从Input Flow Direction的列表中选择水流方向图层,在Input raster or Feature pour Point data列表框中选择汇水区域出口图层,确定输出文件的名称及路径,如图16-30所示,点击【OK】按钮。 图 16-30 (3) 利用河段的拓扑信息(或者手动确定的出水口位置信息)生成流域的结果会自动加载到ArcMap中显示,如图16-31所示。
17、 图 16-16 8. 流域盆地的生成 (1) 打开Arctoolbox,在Arctoolbox列表框中点击Spatial Analysis Tool\Hydrology,双击Basin,打开Basin操作的对话框。 (2) 在Input Flow Direction下拉列表框中选择水流方向图层,在Output raster下拉列表框中确定输出文件的名称及路径,如图16-17所示,点击【OK】按钮。 图16-17 (3) 生成的流域结果会自动加载到ArcMap中显示,如图16-18所示。 图 16-18 9. 计算径流强度指数 (1) 在ArcMap
18、中,新建地图文档,加载坡度,汇水累积量图层。 (2) 在Spatial Analyst工具条上点击Spatial Analyst \ Raster Calculator,确定计算公式,如图16-32所示。 图16-32 (3) 点击【Evaluate】按钮,计算结果(径流强度指数SPI)如图16-33所示。 图16-33 10. 计算地形湿度指数 (1) 在ArcMap中,加载坡度,汇水累计量图层。 (2) 在Spatial Analyst工具条上点击Spatial Analyst\ Raster Calculator,输入计算公式,如图16-34所示。 图 16-34
19、 (3) 点击【Evaluate】按钮,计算结果(地形湿度指数TWI)如图16-35所示。 图16-35 四、 拓展练习1 1 请将研究区流域面积最大的流域提取出来,并叠加河网矢量图进行“**流域河网分布图”制图,并以图片格式(jpg或者bmp)提交实验成果。 2 利用实验1中的北京90米分辨率的数字高程模型数据,切割出石景山区的地形数据,通过水文分析,提取河网结构,并制图,以图片格式(jpg或者bmp)提交实验成果。 五、 拓展练习2 出水口的位置可以人工确定,也可以从生成的河网结构中提取河网中河段与河段的交点,也就是利用河网的拓扑关系来确定。河网可视为树(如图16-1
20、7所示),树的端点是汇流点。树的枝干就是溪流的通道。两个溪流通道的交点(节点)就视为出水口。溪流通道的部分连接了两个连续的交点,或交点和汇流点有着内在的连接。 图16-17 具体步骤如下: (1) 在ArcMap中,添加拓扑工具条(Topology),添加编辑工具条(Editor),并设置河网文件(shapefile格式)为可编辑状态(注意拓扑工具条的变化)。 (2) 选中全部线状要素(注意拓扑工具条的变化); (3) 在拓扑工具条上点击按钮,打开Planarize Lines对话框(在交点处打断线工具),如图16-23所示,点击【OK】按钮,并保存结果。 图16-23
21、 (4) 在ArcCatalog中,右键点击SnapPo.shp图层,在弹出的快捷菜单中,点击new network dataset(新建网络数据集)选项,如图16-24所示。新建过程中一路选择默认项,直到新建完成。 图16-24 (5) 在ArcMap中,加载生成的河网结合点文件,如图16-25所示。 图16-25 小提示: 结合点不等于线交点,因为里边有悬挂点(端点)和自相交结点。 (1) 在ArcMap中,右键点击结合点图层(StreamT_ND_Junctions.shp),在弹出的快捷菜单中,点击Joins and Relates\Join,打开Join Data对
22、话框。 (2) 将结合点文件和河网文件(StreamT.shp)进行合并,如图16-26所示。 图16-26 (3) 打开新图层(Join_Output.shp)的属性表,其中字段join_count的数值表示出水点和多少条河段相连。 (4) 在Join_Output.shp属性表的右下方点击【Options】按钮,在弹出的快捷菜单中点击Select by Attributes选项,打开Select By Attributes对话框,编辑查询语句“Count>2”,选择出满足条件的记录。 (5) 在ArcMap中,右键点击图层Join_Output.shp,在弹出的快捷菜单中,点击Data\Export Data,导出满足条件的数据集。分析结果如图16-29所示。 图16-29






