DEMArcGIS水文分析河网和流域提取.docx
《DEMArcGIS水文分析河网和流域提取.docx》由会员分享,可在线阅读,更多相关《DEMArcGIS水文分析河网和流域提取.docx(13页珍藏版)》请在冰豆网上搜索。
DEMArcGIS水文分析河网和流域提取
基于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\SpatialAnalysisTools\Hydrology\FlowDirection,生成方向水流流向图:
若从DEM中作出来的流向分析的最大数值为128则不需要填洼,否则需要填挖。
计算出来的水流分析
1.2洼地计算
洼地区域是水流方向不合理的地方,可以通过水流方向来判断哪些地方是洼地,并进行填充。
但是,并非所有的洼地区域都是由于数据的误差造成的,有很多洼地是地表形态的真实反映。
因此在进行洼地填充之前,必须计算洼地深度,判断哪些地区是由于数据误差造成的,而哪些地区又是真实的地表形态。
然后,在洼地填充时,设置合理的填充阈值。
基本过程先分别双击Hydrology工具集中的Sink、Watershed工具计算出洼地区域图、洼地贡献区域图,打开SpatialAnalystTools工具箱中的Zonal工具集,分别利用ZonalStatistic、ZonalFill工具分别计算每个洼地所形成的贡献区域的最低高程,及计算每个洼地贡献区域出口的最低高程,然后在ARCMAP中加载SpatialAnalyst模块,选择RasterCalculator对话框,通过命令sinkdep=([zonalmax]-[zonalmin])计算出洼地深度图。
计算出来的洼地区域
计算出来的洼地贡献区域
洼地深度图
1.3洼地填充
经过洼地提取后,可以确定原始DEM上是否存在洼地,若有洼地,须进行填充。
而
洼地深度的计算为填充阈值的设置提供了依据,系统默认条件下是不设阈值,即所有的洼地
区域都将被填平。
对照地形资料,确定填充域值。
没有岩溶问题的话,直接用(洼地深度的最大值+1)作为域值(zlimit)。
洼地填充是一个不断反复的过程,直到所有的洼地被填平,新的洼地不在产生为止。
方法是利用ArcToolbox\SpatialAnalysisTools\Hydrology\Fill工具对洼地是深度图进行处理,得到洼地填充图:
洼地填充图
2.汇流累积量计算
在地表径流模拟过程中,汇流累积量是基于水流方向数据计算得到的。
首先基于无洼
地DEM生成水流方向图,利用该数据,双击Hydrology工具集中的FlowAccumulation工具计算出汇流累积量数据,如图所示:
通过计算得到的汇流累积量数据
3.水流长度计算
水流长度指地面上一点沿水流方向到流向起点(或终点)间的最大地面距离在水平面上
的投影长度。
它分为顺流计算及溯流计算两种,可通过双击Hydrology工具集中的Flow
Length工具实现,其中计算方向分别选择顺流计算Downstream或溯流计算Upstream。
水流长度的提取和分析在水文学或水土保持工作中均具有很重要意义,因为水流长度直接影响地面径流的速度,进而影响地面土壤的侵蚀力。
顺流计算出的水流长度
溯流计算的水流长度
4.河网的提取
目前常用的河网提取方法是采用地表径流漫流模型计算:
首先是在无洼地DEM上利用最大坡降的方法得到每一个栅格的水流方向;然后利用水流方向栅格数据计算出每一个栅格在水流方向上累积的栅格数,即汇流累积量,所得到的汇流累积量则代表在一个栅格位置上有多少个栅格的水流方向流经该栅格;假设每一个栅格处携带一份水流,那么栅格的汇流累积量则代表着该栅格的水流量。
基于上述思想,当汇流量达到一定值的时候,就会产生地表水流,那么所有那些汇流量大于那个临界数值的栅格就是潜在的水流路径,由这些水流路径构成的网络,就是河网。
4.1河网的生成
河网的生成基于汇流累积量数据,利用MapAlgebra工具集中的MultiMapOutput工具中的Con命令或Setnull进行有条件地查询可以得到,还可以利用栅格计算器获取。
setnull,将栅格图像中满足条件的栅格值设置为null,即nodata,这样很便于在栅格图像中删除不需要的部分。
其对应Grid模块命令为setnull,格式:
outgrid=setnull5,ingrid>,表示,如果ingrid>5,则变为nodata,否则返回为原值。
con表示条件,如果满足条件,返回为指定值1,否者返回为指定值2,Grid命令:
outgrid=con5,10,100>,表示,如果ingrid值>5,则对应栅格值改为10,否者改为100。
若100不指定,则返回为nodata。
这里可以指定多个条件。
通过计算生成的栅格河网
4.2栅格河网矢量化
利用ArcToolbox\SpatialAnalystTools\Hydrology\streamtofeature工具箱对栅格河网进行处理,如图:
矢量河网
平滑处理河流网络:
利用Editor工具栏对矢量河网进行编辑,单击Editor下拉菜单,单击StaringEditor激活编辑工具栏,在下拉菜单中选中MoreEditingTools\AdvancedEditing,选中整幅地图,在弹出的AdvancedEditing工具栏中点击平滑(Smooth)按钮,在弹出的Smooth对话框中[Maximumallowableoffset]栏中输入值“3”,表示允许最大偏移量为3。
从而得到平滑处理后的河流网络。
用这种方法所平滑的流域河流网络偏移量较大,可能会产生人为误差,也可利用DataManagementTools工具箱下DataManagementTools\Generalization\SmoothLine工具箱对河流网络进行平滑处理。
此种方法偏移较小。
4.3StreamLink的生成
StreamLink记录河网中结点之间的连接信息,它主要是记录河网的结构信息,其中每
一条弧段连接着两个作为出水点或汇合点的结点。
StreamLink的生成可以通过双击Hydrology工具集中的StreamLink工具实现,其属性表中记录着每个片段所包含的栅格个数信息。
如图:
StreamLink示意图
4.4河网分级
不同级别的河网所代表的汇流累积量不同,级别越高,汇流累积量越大,一般是主流,而级别较低的河网一般则是支流。
在ARCGIS的水文分析中,双击Hydrology工具集的StreamOrder工具,可提供两种常用的河网分级方法:
Strahler分级和Shreve分级。
如图:
河网的Strahler分级结果
河网的Shreve分级结果
5.流域分割
流域(watershed)又称集水区域,是指流经其中的水流和其他物质从一个公共的出水口排出从而形成的一个集中的排水区域。
流域可以通过流域盆地(basin)、集水盆地(catchment)来描述。
5.1流域盆地的确定
流域盆地是由分水岭分割而成的汇水区域,可利用水流方向确定出所相互连接并处于同一流域盆地的栅格区域。
双击Hydrology工具集中的Basin工具可以计算出流域盆地图:
计算出的流域盆地(线状图形为矢量河网数据)
5.2积水流域的确定
除用流域盆地来描述外,在水文分析中,经常基于更小的流域单元进行分析,首先通过Hydrology工具集中的SnapPourPoint工具寻找小级别流域的出水口位置,然后结合水流方向,双击Hydrology工具集中的Watershed工具,分析搜索出该出水点上游所有流过该出水口的栅格,直至生成集水流域为止,对计算结果重新分级后可以更方便寻找感兴趣的流域研究区。
如图:
集水区域的计算结果
六、总结
1.进行水文分析之前必须要进行洼地填充,且洼地填充是一个循环的过程,确保最后生成的是无洼地DEM。
2.河网的生成需要设定阈值,阈值的设定是一个不断试验的过程,最后选出一个合适的阈值。