ArcGIS专题操作之-水文分析 下载本文

内容发布更新时间 : 2024/5/4 7:30:04星期一 下面是文章的全部内容请认真阅读。

《城市地理信息系统》实验

5. 提取河流网络 (1) 提取河流网络栅格

① 设定阈值。阈值的设定在河网的提取过程是很重要的,并且直接影响到河网的提取结果。阈值的设定应遵循科学、合理的原则。首先应该考虑到研究的对象,研究对象中的沟谷的最小级别,不同级别的沟谷所对应的不同的阈值;其次考虑到研究区域的状况,不同的研究区域相同级别的沟谷需要的阈值也是不同的。

② 提取栅格河流网络

方式一:打开Arctoolbox,运行工具[Spatial Analyst Tools]>>[Map Algebra]>>[单输

出地图代数]。在 [地图代数表达式]中输入公式:con (Flow Accumulation1>800,1),[输出栅格]指定为:StreamNet。计算的思想:利用所设定的栅格阈值进行条件查询并将查询结果赋予新的栅格数据中。通过此操作将流水累积量栅格[Flow Accumulation1]中栅格单元值(流水累积量)大于800 的栅格赋值为1,而小于或等于设定阈值的栅格属性值赋为无数据,从而得到河流网络栅格[StreamNet]。

方式二:在Arc Map中,点击空间分析模块>>计算器,在计算器中输入表达式:con (Flow Accumulation1>800,1)。 关闭除[Streamnet]之外的其它图层。

(2) 栅格河流网络矢量化

执行 [ Arctoolbox ] >> [Spatial Analyst Tools]>>[Hydrology] >>[ stream to feature ] (3) 伪沟谷的删除和平滑处理河流网络

6

《城市地理信息系统》实验

① 伪沟谷的删除

由于基于DEM的河网的提取是采用最大坡降的方法,那么在平地区域(例如谷底等)水流方向是随机的,就很容易生成平行状的河流等错误形状(伪沟谷),需要利用[Editor]工具栏进行手工编辑剔除的。研究区域边缘的很短的沟谷也需进行删除。

② 平滑处理河流网络

利用[Editor]工具栏进行编辑,选择图层中所有要素,执行[编辑器]工具栏中的命令[编辑器]>>[更多的编辑工具]>>[高级编辑]打开工具条:[高级编辑],点击其上的[平滑]按钮(下图中箭头所指):

在[平滑]处理对话框中输入参数[允许最大偏移]:3,得到平滑后的河流网络矢量图层。 或执行[ Arctoolbox ] >> [Data Management Tools]>>[Generalization] >>[ Smooth Line ] 比较平滑处理后的数据与没有进行处理过的数据。 (4)stream link的生成

Stream link记录着河网中的一些节点之间的连接信息(河网的结构信息)。Stream link的每条弧段连接着两个作为出水点或汇合点的结点,或者连接着作为出水点的结点和河网起始点。 通过Stream link的计算,即得到每一个河网弧段的起始点和终止点。同样,也可以得到该汇水区域(流域)的出水口。

执行 [ Arctoolbox ] >> [Spatial Analyst Tools]>>[Hydrology] >>[ Stream link ]。经过计算,它将栅格河网在汇合点栅格处分割成河网片段,并将片断进行记录,在属性表中除了记录该片段的ID号之外,还记录着每个片段所包含的栅格数。

[ Stream link ]结果可利用[ stream to feature ]转换为矢量数据。

(5) 河网分级

在ArcGIS的水文分析中,提供两种常用的河网分级方法:Strahler分级和Shreve分级。

7

《城市地理信息系统》实验

对于Strahler分级来说,它将所有河网弧段中没有支流的河网弧段分为第1级,两个1级河网弧段汇流成的河网弧段为第2级,如此下去分别为第3级,第4级,一直到河网出水口。在这种分级中,当且仅当同级别的两条河网弧段汇流成一条河网弧段时,该弧段级别才会增加,对于那些低级弧段汇入高级弧段的情况,高级弧段的级别不会改变,这也是比较常用的一种河网分级方法。对于Shreve分级而言,其第1级河网的定义与Strahler分级是相同的,所不同的是以后更高级别的河网弧段,其级别的定义是由其汇入河网弧段的级别之和,

执行 [ Arctoolbox ] >> [Spatial Analyst Tools]>>[Hydrology] >>[ Stream Order ]。 [ Stream Order ]结果可利用[ stream to feature ]转换为矢量数据。

6.流域分析

(1)流域盆地的确定

流域盆地是由分水岭分割而成的汇水区域。它通过对水流方向数据的分析确定出所有相互连接并处于同一流域盆地的栅格。流域盆地的确定首先是要确定分析窗口边缘的出水口的位置,也就是说,在进行流域盆地的划分中,所有的流域盆地的出水口均处于分析窗口的边缘。当确定了出水口的位置之后,也就是找出所有流入出水口的上游栅格的位置。

执行 [ Arctoolbox ] >> [Spatial Analyst Tools]>>[Hydrology] >>[ Basin ]。 为了使计算结果更容易理解,可以将上述计算出的矢量河网数据在同一个窗口中打开,进行辅助分析。所有的流域盆地的出口都在研究区域的边界上。利用流域盆地分析,可以从很大的一个研究区域中选择感兴趣的流域并将该流域从整个研究区域分割出来进行单独的分析。

打开[空间分析] 工具栏,执行命令:[空间分析]>>[转换]>>[栅格到要素] 将流域栅格转换成为矢量图层,并进行符号设置。 (2)集水流域的生成

8

《城市地理信息系统》实验

经过上一步得到的流域盆地是一个比较大的流域盆地,在很多的水文分析中,还需要基于更小的流域单元进行分析,那么就需要进行流域的分割。而流域的分割首先是要确定小级别的流域的出水口的位置。

① 汇水区出水口的确定

小级别的流域出水口的位置,可以用[Hydrology]工具集中的[Snap Pour Point] 工具寻找。 思想: 利用point点栅格数据寻找潜在的出水点,并赋属性值。在该点位置上在指定距离内在汇流累积量的数据层上搜索那些具有较高汇流累积量栅格点的位置,这些搜索到的栅格点就是小级别的流域的出水点。也可以利用已有的出水点的矢量数据。

如果没有出水点的栅格或矢量数据,可以用上述生成的stream link数据作为汇水区的出水口数据。因为stream link数据中隐含着河网中每一条河网弧段的联结信息,包括弧段的起点和终点等,相对而言,弧段的终点就是该汇水区域的出水口所在位置。

② 集水流域的生成

低级的集水区的生成,可以使用[ Hydrology ]工具集中的[ Watershed ]工具生成。其思想如下:先确定一个出水点,也就是该集水区的最低点,然后结合水流方向数据,分析搜索出该出水点上游所有流过该出水口的栅格,直到所有的该集水区的栅格都确定了位置,也就是搜索到流域的边界——分水岭的位置。

通过stream link 作为流域的出水口数据所得到的集水区域是每一条河网弧段集水区域,也就是要研究的最小沟谷的集水区域,它将一个大的流域盆地按照河网弧段将其分为一个个的小的集水盆地。

打开[空间分析] 工具栏,执行命令:[空间分析]>>[转换]>>[栅格到要素] 将流域栅格转换成为矢量图层,并进行符号设置。

五、实验结果(附图和总结)

结果图:

9

《城市地理信息系统》实验

总结:初步了解了水文分析的一般过程,首先将dem图进行填洼处理,再对填洼后的图提取没个栅格点的流向,通过对流向数据分析计算得汇流累计量和水流长度,对河流累积量生成河网栅格并矢量化,对矢量化后的河网进行处理,生成河流连接,最后对河流进行分级生成流域与集水盆地。我们对Toolbox中的Spatial Analysis Tools的水流分析工具Hydrology的各个功能有了初步了解,只是对汇流累计量的具体算法不太明白,希望以后能加深理解。

10