GIS软件应用与开发主讲:原立峰电话:83492440,手机:13585108084Email:yuanlf@lreis.ac.cn南京邮电大学通信与信息工程学院第十章水文分析10.1无洼地DEM的生成10.2汇流累积量10.3水流长度10.4河网提取10.5流域分割水文分析:概述基于DEM地表水文分析的主要内容是利用水文分析工具提取地表水流径流模型的水流方向、汇流累积量、水流长度、河流网络(包括河流网络的分级等)以及对研究区的流域进行分割等。通过对这些基本水文因子的提取和分析,可再现水流的流动过程,最终完成水文分析过程。数据基础:无洼地的DEM关键步骤:流向分析10.1无洼地DEM的生成:概述DEM一般被认为是比较光滑的地形表面的模拟,但是由于内插的原因以及一些真实地形(如喀斯特地貌)的存在,使得DEM表面存在着一些凹陷的区域。这些区域在进行地表水流模拟时,由于低高程栅格的存在,使得在进行水流流向计算时在该区域得到不合理的或错误的水流方向。因此,在进行水流方向的计算之前,应该首先对原始DEM数据进行洼地填充,得到无洼地的DEM。洼地填充的基本过程是先利用水流方向数据计算出DEM数据中的洼地区域,然后计算出这些的洼地区域的洼地深度,最后以这些洼地深度为参考而设定填充阈值进行洼地填充。数据基础:无洼地的DEM被较高高程区域围绕的洼地是进行水文分析的一大障碍,因此在确定水流方向以前,必须先将洼地填充。有些洼地是在DEM生成过程中带来的数据错误,但另外一些却表示了真实的地形如采石场或岩洞等。通过填充洼地(FillSinks)得到无洼地的DEM在经过填充洼地后的DEM(FilledDem),流水可以畅通无阻地流至区域地形的边缘。在经过填充洼地后的DEM是流向分析的基础水流方向提取水流方向是指水流离开每一个栅格单元时的指向。在ArcGIS中通过将中心栅格的8个邻域栅格编码,水流方向便可由其中的某一值来确定,栅格方向编码如图所示。水流流向编码例如:如果中心栅格的水流流向左边,则其水流方向被赋值为16。输出的方向值以2的幂值指定是因为存在栅格水流方向不能确定的情况,此时需将数个方向值相加,这样在后续处理中从相加结果便可以确定相加时中心栅格的邻域栅格状况。水流方向FlowDirection计算对话框流向分析原理水流的流向是通过计算中心栅格与邻域栅格的最大距离权落差来确定的。距离权落差是指中心栅格与邻域栅格的高程差除以两栅格间的距离,栅格间的距离与方向有关,如果邻域栅格对中心栅格的方向值为2、8、32、128,则栅格间的距离为,否则距离为1。101410111004101910151007102510211012+1+4+11-4+8-10-6+3(a)(b)(c)1641281632842??12洼地计算洼地区域是水流方向不合理的地方,可以通过水流方向来判断哪些地方是洼地,然后对洼地填充。但是,并不是所有的洼地区域都是由于数据的误差造成的,有很多洼地是地表形态的真实反映。因此,在进行洼地填充之前,必须计算洼地深度,判断哪些地区是由于数据误差造成的洼地而哪些地区又是真实的地表形态,然后在洼地填充的过程中,设置合理的填充阈值。1、洼地提取2、洼地深度计算需要先计算洼地贡献区域洼地计算对话框洼地贡献区域计算对话窗口(watershed)计算每个洼地所形成的贡献区域的最低高程分区统计对话框计算每个洼地贡献区域出口的最低高程(洼地出水口高程)洼地贡献区域边缘最低高程计算对话框计算洼地深度洼地深度计算对话框洼地填充洼地填充是无洼地DEM生成的最后一个步骤。通过洼地提取之后,可以了解原始的DEM上是否存在着洼地,如果没有存在洼地,原始DEM数据就可以直接用来进行河网生成、流域分割等。而洼地深度的计算又为在填充洼地时设置填充阈值提供了很好的参考。当一个洼地区域被填平之后,这个区域与附近区域再进行洼地计算,可能还会形成新的洼地。因此,洼地填充是一个不断反复的过程,直到所有的洼地都被填平,新的洼地不再产生为止。洼地填充对话框10.2汇流累积量在地表径流模拟过程中,汇流累积量是基于水流方向数据计算得到的。汇流累积量的基本思想是认为以规则格网表示的数字地面高程模型每点处有一个单位的水量,按照自然水流从高处流往低处的自然规律,根据区域地形的水流方向数据计算每点处所流过的水量数值,便得到了该区域的汇流累积量。由水流方向数据到汇流累积量计算的过程如图所示。汇流累积量的计算水流方向数据汇流累积数据基于无洼地DEM的水流方向的计算。计算过程同上一节水流方向的计算一样,使用的DEM数据是无洼地DEM。在得到水流方向之后,可以利用水流方向数据计算汇流累积量。双击Hydrology工具集中的FillAccumulation工具,打开汇流累积量计算对话框。10.3水流长度水流长度通常是指在地面上一点沿水流方向到其流向起点(或终点)间的最大地面距离在水平面上的投影长度。水流长度直接影响地面径流的速度,从而影响对地面土壤的侵蚀力。因此,水流长度的提取和分析在水土保持工作中有很重要的意义。目前,在ArcGIS中水流长度的提取方式主要有两种:顺流计算和溯流计算。顺流计算是计算地面上每一点沿水流方向到该点所在流域出水口的最大地面距离的水平投影;溯流计算是计算地面上每一点沿水流方向到其流向起点的最大地面距离的水平投影。FlowLength沿水流路径计算流域内每个栅格单元到下游的最远距离或上流汇入点流至此栅格单元的路程用以计算流域内最长的水流路径flowlength的计算窗口10.4河网的提取:概述基于DEM的水文分析,其中一个内容就是要得到地表的水流网络。目前常用的河网提取方法是地表径流漫流模型:首先在无洼地DEM上利用最大坡降法得到每一个栅格的水流方向;然后利用水流方向栅格数据计算出每一个栅格在水流方向上累积的栅格数,即汇流累积量。假设每一个栅格携带一份水流,那么栅格的汇流累积量就代表着该栅格的水流量。基于上述思想,当汇流量达到一定值的时候,就会产生地表水流,所有汇流量大于临界值的栅格就是潜在的水流路径,由这些水流路径构成的网络,就是河网。1、河网的生成①生成汇流累积量图②设定阈值③栅格河网的形成④栅格河网的矢量化栅格河网转换成矢量河网对话框提取河流网络11122222222Value=NoDataNET_GRIDStreamToFeature河流网络栅格streamnet=con(flowacc100,1)2、StreamLink的生成Streamlink记录河网中一些节点之间的连接信息,主要记录河网的结构信息。如图所示,Streamlink的每条弧段连接着两个作为出水点或汇合点的结点,或者连接着作为出水点的结点和河网起始点。Streamlink示意图弧段结点划分河段为河流网络的各河段分配一个标识StreamLink计算对话框河网分级河网分级是对一个线性的河流网络以数字标识的形式划分级别。在地貌学中,对河流的分级是根据河流的流量、形态等因素进行。不同级别的河网所代表的汇流累积量不同,级别越高,汇流累积量越大,一般是主流,而那些级别较低的河网则是支流。这对于研究水流的运动、汇流模式,及水土保持等具有重要的意义。在ArcGIS的水文分析中,提供两种常用的河网分级方法:Strahler分级和Shreve分级。如图1所示,Strahler分级是将所有河网弧段中没有支流河网弧段分为第1级,两个1级河网弧段汇流成的河网弧段为第2级,如此下去分别为第3级,第4级,……,一直到河网出水口。在这种分级中,当且仅当同级别的两条河网弧段汇流成一条河网弧段时,该弧段级别才会增加,对于那些低级弧段汇入高级弧段的情况,高级弧段的级别不会改变;Shreve分级的第1级河网的定义与Strahler分级是相同的,所不同的是以后的分级,两条1级河网弧段汇流而成的河网弧段为2级河网弧段,那么对于以后更高级别的河网弧段,其级别的定义是由其汇入河网弧段的级别之和,如图2所示,当一条3级河网弧段和一条4级河网弧段汇流而成的新的河网弧段的级别为7,这种河网分级到最后出水口的位置时,其河网的级别数刚好是该河网中所有的1级河网弧段的个数。河流分级Strahler方法Shreve方法31111111222224711111112233给河流网络支流分配一个级别10.5流域的分割流域(watershed)又称集水区域,是指流经其中的水流和其它物质从一个公共的出水口排出从而形成的一个集中的排水区域,如图11.30所示。也可以用流域盆地(basin)、集水盆地(catchment)或水流区域(contributingarea)等来描述流域。Watershed数据显示了区域内每个流域汇水面积的大小。汇水面积是指从某个出水口(或点)流出的河流的总面积。出水口(或点)即流域内水流的出口,是整个流域的最低处。流域间的分界线即为分水岭。分水线包围的区域称为一条河流或水系的流域,流域分水线所包围的区域面积就是流域面积。划分流域确定汇流点以上的汇水区域给定汇水区域面积-自动划分流域流域盆地的确定流域盆地是由分水岭分割而成的汇水区域,是通过对水流方向数据的分析确定出所有相互连接并处于同一流域盆地的栅格。首先要确定分析窗口边缘的出水口的位置,所有的流域盆地的出水口均处于分析窗口的边缘。流域盆地集水区的确定是找出所有流入出水口的上游栅格的位置。流域盆地计算的对话框汇水区出水口的确定在水文分析中,通常需要基于更小的流域单元进行分析,这样就需要进行流域的分割。流域的分割首先要确定小级别流域的出水口的位置,可以通过SpatialAnalysisTools工具箱下的Hydrology工具集中的SnapPourPoint的工具来寻找。它的思想是利用一个记录着潜在但并不准确的小级别流域的出水口的位置的数据层,在该点位置上在以指定距离在汇流累积量的数据层上搜索那些具有较高汇流累积量栅格点的位置,这些搜索到的栅格点就是小级别的流域的出水点。也可以利用已有的出水点的矢量数据。如果没有出水点的栅格或矢量数据,可以用已生成的streamlink数据作为汇水区的出水口数据。因为streamlink数据中隐含着河网中每一条河网弧段的联结信息,包括弧段的起点和终点等,而弧段的终点可以看作是该汇水区域的出水口所在位置。集水流域的生成对于一个小集水流域的生成,思想如下:先确定出水点,即该集水区的最低点,然后结合水流方向数据,分析搜索出该出水点上游所有流过该出水口的栅格,直到搜索到流域的边界,即分水岭的位置。集水区域的计算结果流域提取步骤利用ArcGIS中的水文模块,基于DEM提取流域水文特征的主要步骤包括:1、利用FLOWDIRECTION()函数从DEM推出流向;2、利用SINK()函数标出洼地格网;3、执行FILL()执行填洼,生成无洼的DEM;4、应用FLOWACCUMULATION()函数计算每一格网的上游控制面积;5、根据设定的控制面积的阀值和每个格网单元的控制面积生成河网水系;6、使用WATERSHED()等函数求出流域边界以及使用FLOWLENGTH()函数计算各河段的流路长度。流域分析技术路线框图