基于DEM的ArcGIS水文分析—河网和流域的提取

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于DEM的ArcGIS水文分析

—河网和流域的提取

一、实验背景

水文分析是DEM 数据应用的一个重要方面。而利用DEM生成的集水流域和水流网络,成为大多数地表水文分析模型的主要输入数据。表面水文分析模型研究与地表水流有关的各种自然现象例如洪水水位及泛滥情况,划定受污染源影响的地区,预测当某一地区的地貌改变时对整个地区将造成的影响等。

二、实验目的

通过本实验,使读者理解基于DEM数据进行水文分析的基本原理,掌握利用ArcGIS 提供的水文分析工具进行水文分析的基本方法和步骤,并利用DEM数据提取出河网及流域。

三、实验数据

某地区栅格数据DEM,数据来源于随书光盘(…\Chp9\Ex2)。

四、实验要求

根据DEM利用水文分析工具提取地表水流径流模型的水流方向、汇流累积量、水流长度、河流网络(包括河流网络的分级等)以及对研究区的流域进行分割等。

五、实验流程图

六、实验内容及步骤

1.无洼地DEM生成

DEM 是比较光滑的地形表面模型,但由于DEM 误差以及一些真实地形或特殊地形的影响,使得DEM 表面存在一些凹陷的区域。

在进行水流方向计算时,由于这些区域的存在,往往得到不合理的甚至错误的水流方向。因此,在进行水流方向的计算之前,应该首先对原始DEM 数据进行洼地填充,得到无洼地的DEM。

洼地填充的基本过程是先利用水流方向数据计算出DEM 数据中的洼地区域,并计算洼地深度,然后,依据这些洼地深度设定填充阈值进行洼地填充。

1.1 水流方向的提取

水流的流向是通过计算中心格网与邻域格网的最大距离权落差来确定。对于每一格网的水流方向指水流离开此网格的指向。在ARCGIS 中,通过对中心栅格的1、2、4、8、16、32、64、128 等8个邻域栅格编码,中心栅格的水流方向便可有其中的某一值来确定。例如,若中心栅格的水流流向左边,则水流方向赋值16。

流向的生成是个自动的过程,可能要等一段自时间,运算的时间跟电脑性能和DEM图的精度与大小有关.。

方法是利用ArcToolbox\Spatial Analysis Tools\ Hydrology \Flow Direction,生成方向水流流向图:若从DEM中作出来的流向分析的最大数值为128则不需要填洼,否则需要填挖。

计算出来的水流分析

1.2 洼地计算

洼地区域是水流方向不合理的地方,可以通过水流方向来判断哪些地方是洼地,并进行填充。但是,并非所有的洼地区域都是由于数据的误差造成的,有很多洼地是地表形态的真实反映。因此在进行洼地填充之前,必须计算洼地深度,判断哪些地区是由于数据误差造成的,而哪些地区又是真实的地表形态。然后,在洼地填充时,设置合理的填充阈值。

基本过程先分别双击Hydrology 工具集中的Sink、Watershed 工具计算出洼地区域图、洼地贡献区域图,打开Spatial Analyst Tools 工具箱中的Zonal 工具集,分别利用Zonal Statistic、Zonal Fill 工具分别计算每个洼地所形成的贡献区域的最低高程,及计算每个洼地贡献区域出口的最低高程,然后在ARCMAP 中加载Spatial Analyst 模块,选择RasterCalculator 对话框,通过命令sinkdep=([zonalmax]-[zonalmin])计算出洼地深度图。

计算出来的洼地区域

计算出来的洼地贡献区域

洼地深度图

1.3 洼地填充

经过洼地提取后,可以确定原始DEM 上是否存在洼地,若有洼地,须进行填充。而洼地深度的计算为填充阈值的设置提供了依据,系统默认条件下是不设阈值,即所有的洼地区域都将被填平。对照地形资料,确定填充域值。没有岩溶问题的话,直接用(洼地深度的最大值+1)作为域值(z limit)。洼地填充是一个不断反复的过程,直到所有的洼地被填平,新的洼地不在产生为止。

方法是利用ArcToolbox\Spatial Analysis Tools\ Hydrology \Fill工具对洼地是深度图进行处理,得到洼地填充图:

洼地填充图

2.汇流累积量计算

在地表径流模拟过程中,汇流累积量是基于水流方向数据计算得到的。首先基于无洼地DEM 生成水流方向图,利用该数据,双击Hydrology 工具集中的Flow Accumulation 工具计算出汇流累积量数据,如图所示:

通过计算得到的汇流累积量数据

3.水流长度计算

水流长度指地面上一点沿水流方向到流向起点(或终点)间的最大地面距离在水平面上的投影长度。它分为顺流计算及溯流计算两种,可通过双击Hydrology 工具集中的Flow Length 工具实现,其中计算方向分别选择顺流计算Downstream 或溯流计算Upstream。水流长度的提取和分析在水文学或水土保持工作中均具有很重要意义,因为水流长度直接影响地面径流的速度,进而影响地面土壤的侵蚀力。

顺流计算出的水流长度

溯流计算的水流长度

4.河网的提取

目前常用的河网提取方法是采用地表径流漫流模型计算:首先是在无洼地DEM上利用最大坡降的方法得到每一个栅格的水流方向;然后利用水流方向栅格数据计算出每一个栅格在水流方向上累积的栅格数,即汇流累积量,所得到的汇流累积量则代表在一个栅格位置上有多少个栅格的水流方向流经该栅格;假设每一个栅格处携带一份水流,那么栅格的汇流累积量则代表着该栅格的水流量。基于上述思想,当汇流量达到一定值的时候,就会产生地表水流,那么所有那些汇流量大于那个临界数值的栅格就是潜在的水流路径,由这些水流路径构成的网络,就是河网。

4.1 河网的生成

河网的生成基于汇流累积量数据,利用Map Algebra 工具集中的Multi Map Output 工具中的Con 命令或Setnull进行有条件地查询可以得到,还可以利用栅格计算器获取。

setnull,将栅格图像中满足条件的栅格值设置为null,即nodata,这样很便于在栅格图像中删除不需要的部分。其对应Grid模块命令为setnull,格式:outgrid = setnull 5, ingrid>,表示,如果ingrid>5,则变为nodata,否则返回为原值。

con表示条件,如果满足条件,返回为指定值1,否者返回为指定值2,Grid命令:outgrid = con < ingrid > 5, 10 ,100>,表示,如果ingrid值>5,则对应栅格值改为10,否者改为100。若100不指定,则返回为nodata。这里可以指定多个条件。

相关文档
最新文档