4.7 水文分析
4.7.1 水文分析概述
基于DEM的地表水文分析的主要内容是利用水文分析工具提取地表水流径流模型的水流方向、汇流累积量、水流长度、河流网络(包括河流网络的分级等)以及对研究区的流域进行分割等。通过对这些基本水文因子的提取和水文分析,可以在DEM表面上再现水流的流动过程,分析水文过程产生的影响。
ArcGIS中的水文分析工具有两个:一是Hydrology,它作为子工具集成于SpatialAnalyst Tools里;二是ArcHydro,它是由ESRI和CRWR(德克萨斯大学奥斯丁分析水资源研究中心)共同开的一个扩展插件,需要单独下载安装,安装完成之后会在ArcToolbox里出现ArcHydroTools和ArcHydroPartialTerrainUpdate两个工具集,可以用于专门的水文分析建模与分析。
4.7.2 洼地填充与无洼地DEM的生成
无洼地的DEM数据是进行流域水文分析的数据基础。DEM数据中不能存在小平原、洼地等地形,且所有的复杂地形都必须由斜坡构成,否则,将导致所提取的水系通道产生不连续的现象。实际提取过程中,必须将洼地进行填充,使小平原和洼地成为斜坡的延伸部分,经过这样的数据处理后,DEM数据中的所有地形均由斜坡构成,这样才能确保从DEM数据中提取的水系是连续的。
洼地填充的基本过程是先利用水流方向数据计算出DEM数据中的洼地区域,然后计算出这些洼地区域的深度,最后以这些洼地深度为参考设定填充阈值进行洼地填充。
4.7.2.1流向提取
流向栅格显示水流离开每一个已填洼高程栅格单元时的方向。确定流向的方法有单流向和多流向方法。D8(8方向法)是广泛使用的单流向方法,通过对中心栅格的8个邻域栅格编码,中心栅格的水流方向便可由其中的某一值来确定。通过计算中心像元与其每个邻域像元的距离权重坡度,确定中心像元的流向。
多流向方法允许流向扩散,例如
(D无穷大)方法,该方法首先将中心像元的中心与其周围8个像元的中心连接起来,生成8个三角面,计算每个三角面的坡度;然后选择坡度最大的三角面作为流向所在的三角面,根据三点之间的高程计算流向;最后以流向切分三角形顶角的反比例,作为与三角面相交的两个相邻像元接收的水流比例。
在ArcGIS中,可以通过流向(FlowDirection)工具,采用D8法生成水流方向栅格数据。
4.7.2.2洼地计算
洼地填充之前还需要计算出洼地深度,并结合现有资料,设定一个合理阈值,有选择地对DEM数据进行洼地填充。洼地计算过程如下:
1.洼地的提取。洼地是指有水流流入但无水流流出的栅格像元区域,也称汇。基于流向栅格数据,通过Sink工具可以提取原始DEM中存在的洼地。
2.洼地贡献区域的提取。洼地贡献区域是指水流流向洼地的所有栅格像元组成的区域。通过Watershed工具,基于流向数据和洼地数据可以计算出洼地的贡献区域。
3.计算每个洼地所形成的贡献区域的最低高程值。通过ZonalStatistic工具,以洼地贡献区数据为分区数据,以DEM数据为被统计数据,选择MINIMUM(最小值)作为统计类型,则将洼地贡献区的最低高程值赋予贡献区的每个像元。
4.计算每个洼地贡献区域边界线上的最低高程,即洼地出水口高程。通过ZonalFill工具,以洼地贡献区数据为分区数据,以DEM数据为权重数据,则将洼地出水口高程值赋予贡献区的每个像元。
5.计算洼地深度。将前两个数据相减,即可获取洼地的深度。
4.7.2.3洼地填充
流向提取解决了DEM上是否有洼地的问题,而洼地计算则解决了洼地在哪里和洼地有多深的问题,它为填充阈值的设定以确定哪些洼地需要进行填充提供了依据。
采用Hydrology工具集中的Fill工具,以原始DEM作为输入数据,设置输出文件路径和名称后,可以设置洼地的填充阈值(ZLimit)。阈值是根据前述的洼地深度数据进行分析后确定的,用以区分自然洼地和伪洼地,深度小于该阈值的洼地将被填充。若不设置填充阈值,则所有洼地都将被填充。
洼地填充后可能会产生新的洼地,因此洼地填充是一个反复的过程。
4.7.3 汇流累积量
以规则格网表示的数字高程模型每点处为一个单位的水量,按照自然水流从高处流往低处的自然规律,根据区域地形的水流方向数据计算每点处所流过的水量数值,便得到了该点的汇流累积量。汇流累积量可用两种方式解释:①高累积值的像元一般对应于河道,而0累积值的像元通常位于山脊线;②如果像元值乘以像元面积,所得值等于集水面积。
在ArcGIS 的水文分析工具集中可应用汇流累积量计算工具FlowAccumulation(,根据已获得的流向栅格数据,计算出流域的汇流累积栅格图。
4.7.4 河网的提取
常用的河网提取方法是地表径流漫流模型:首先在无洼地DEM上利用最大坡降法得到每一个栅格的水流方向;然后利用水流方向栅格数据计算出每一个栅格在水流方向上累积的栅格数,即汇流累积量。假设每一个栅格携带一份水流,那么栅格的汇流累积量就代表着该栅格的水流量。当汇流量达到一定值的时候,就会产生地表水流,所有汇流量大于临界值的栅格就是潜在的水流路径,由这些水流路径构成的网络,就是河网。
河网的提取包括河网生成、河网链接生成与河网分级。
4.7.4.1河网生成
基于汇流累积栅格可导出河网,具体做法是:基于河道初始值,初始值表示维持河道水头的集水量,以贡献的像元数替代集水量,提取汇流量大于临界值的栅格即可生成河网。
在ArcGIS中,有三种方法可以提取河网:一是利用Con工具或者Setnull工具。二是采用重分类工具。三是直接利用地图代数工具集中的RasterCalculator工具,其具体步骤如下:
1.生成汇流累积量数据。
2.确定阈值。
3.栅格河网的形成。
4.栅格河网的矢量化。
4.7.4.2河流链接生成
由流量累积栅格生成河网后,通过河流链接工具(StreamLink),以栅格河网和水流方向栅格数据为输入数据,可向各交汇点之间的每一栅格线状网络分配一个唯一值。河流链接记录了河网节点之间的连接信息,即河网的起始点和终止点,以及该汇水区域的出水点。因此,河流链接栅格就像基于拓扑的河流图层,交叉点或交汇点就像节点,交汇点之间的河流区段就像弧段或河段。
4.7.4.3河网分级
根据河网结构,可以将各条河流按一定的次序排列成序列,并以序号逐一命名,以区别干支流。河网分级就是对一个线性的河流网络用数字标识的形式划分级别。
两种常用的河网分级方法:Strahler分级法和Shreve分级法。
Strahler分级法中,先将所有河网弧段中没有支流河网的弧段设为第1级,然后在汇流时,若交汇前的两条河网弧段级别相同,则交汇后的河网弧段级别上升一级,若级别不同,则交汇后的河网弧段级别采用交汇前两条河网弧段级别中的较高者。以此类推下去,直到河网出水口。
Shreve分级的第1级河网定义与Strahler分级相同,所不同的是第一级以后的分级。当两条河网弧段交汇后,将两条河网弧段的级别数相加,作为交汇后河网弧段的级别。Shreve分级法的最大特点是,每个河网弧段的级别数,都是其上游所有1级河网弧段的总数。

a Strahler分级法 b Shreve分级法
图4.147 两种河网分级方法
4.7.5 水流长度
水流长度通常是指地面上一点沿水流方向到其流向起点(终点)间的最大地面距离在水平面上的投影长度。水流长度的提取方式主要有两种,一种是顺流计算,一种是溯流计算。顺流计算是计算地面上每一点沿水流方向到该点所在流域出水口最大地面距离的水平投影;溯流计算则是计算地面上每一点沿水流方向到其流向起点间的最大地面距离的水平投影。
ArcGIS水文分析工具集中的水流长度工具FlowLength可计算出水流长度数据。
4.7.6 流域分割
4.7.6.1流域
流域(Watershed)是指具有共同出水口的地表水流经的汇水区域,即一条河流或水系的集水区域,河流从这个集水区域获得水量的补给。
在ArcGIS中,基于DEM数据提取地形要素特征即可自动生成流域。同时,可以在不同空间尺度上生成流域边界。较大的流域可能覆盖整个河流系统,称之为全流域;而在流域内,还有更小的流域,称之为子流域。子流域对应于河流系统的一条支流。
流域的生成可基于区域也可基于点。基于区域的方法是将研究区划分成一系列的流域,每个流域对应于一个河段。基于点的方法是用所选的点生成流域,选择的点可能是出水口、水文站或水坝。
4.7.6.2流域盆地的生成
流域盆地是由分水岭分割而成的汇水区域,是通过对水流方向数据的分析确定出所有相互连接并处于同一流域盆地的栅格。生成流域盆地首先要确定分析窗口边缘的出水口的位置,所有流域盆地的出水口均处于分析窗口的边缘。流域盆地集水区的确定是找出所有流入出水口的上游栅格的位置。
利用ArcGIS中的Basin工具,以流向栅格数据为输入数据,即可计算出流域盆地数据。
4.7.6.3集水流域的生成
在很多的水文分析中,常常需要采用次级或更小的流域为单元进行分析,此时应对流域进行分割。
分割流域就是要确定每个集水流域,其基本思想是:先确定出水口(Pourpoints),即该集水流域的最低点,然后结合水流方向数据,搜索出该出水口上游所有流过该出水口的像元,直到搜索到流域的边界,即分水岭的位置为止。这些像元组成的区域就是基于该出水口的集水流域。
分割流域有两种方式,一是全流域的分割,二是基于兴趣点的分割。