ArcGIS 下的水文分析

时间:2024-02-23 17:57:33

水文分析:根据DEM提取河流网络,计算流水累积量、流向、根据指定的流域面积大小自动划分流域

 

水文分分析工具... 1

1. 数据基础:无洼地的DEM.. 3

2. 关键步骤:流向分析... 4

3. 计算流水累积量... 5

4. 提取河流网络... 6

5.流域分析... 9

6. 其它应用--降水分析(选做) 11

 

水文分分析工具

有两种途径使用水文分析功能:

(1)     通过Arctoolbox:水文分析工具位于[Spatial Analyst Tools]>>[Hydrology]之下

 

 

 

如果Hydrology 工具集没有出现,可以选中某个工具箱后新建一个工具集[Hydrology],然后右键点新建的工具集,在出现的菜单中执行[添加]>>[工具]

 

会出现如右图所示的对话框,将需要的水文分析工具添加到上面新建的工具集中。

 

 

(2)     另一种方法是添加[Hydrology]工具栏到ArcMap中。

在ArcMap中执行菜单命令:[工具]>>[定制] 命令

 

点击 [从文件添加]按钮

 

找到esrihydrology_v2.dll 文件

注意:这个文件通常是在ArcGIS的安装路径下,默认的情况是[C:\Program Files\ArcGIS\DeveloperKit\samples\SpatialAnalyst\HydrologicModeling\Visual_Basic]

 

[Hydrology Modeling]工具条就被加载到ArcMap,在其前面的检查框上打上勾,如下图所示。

[Hydrology Modeling]工具条就可以显示在ArcMap中

 

 

注意:以下的练习基于 Hydrology Modeling 工具

1. 数据基础:无洼地的DEM

在ArcMap中加载 DEM数据,执行工具条 [Hydrology Modeling]中的菜单命令 [ Hydrology ]>>[ Fill Sinks],在出现的对话框中将 [Input Surface]参数指定为 “DEM”

 

确定后得到无洼地的DEM数据:[ Filled Sink1 ]

 

2. 关键步骤:流向分析

在上一步的基础上进行,执行工具条 [Hydrology Modeling]中的菜单命令 [ Hydrology ]>>[ Flow Direction ],在出现的对话框中将 [Input Surface]参数指定为 “Filled Sink1”

 

确定后得到流向栅格 [ Flow Direction1],了解流向栅格单元的数值表示的含义是什么

 

3. 计算流水累积量

在上一步的基础上进行,执行工具条 [Hydrology Modeling]中的菜单命令 [ Hydrology ]>>[ Flow Accumulation ],在出现的对话框中将 [Direction Raster]参数指定为 “Flow Direction1”

 

确定后得到流水累积量栅格[Flow Accumulation1]

 

4. 提取河流网络

(1)     提取河流网络栅格:

在上一步的基础上进行,打开Arctoolbox,运行工具[Spatial Analyst Tools]>>[Map Algebra]>>[单输出地图代数]

在 [地图代数表达式]中输入公式:con (Flow Accumulation1>800,1)

[输出栅格]指定为:StreamNet

说明:通过此操作将流水累积量栅格[Flow Accumulation1]中栅格单元值(流水累积量)大于800的栅格赋值为1,从而得到河流网络栅格[StreamNet]

1 setnull

2 con

3 pick up

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

con表示条件,如果满足条件,返回为指定值1,否者返回为指定值2,Grid命令:

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

pick up,我还没看到呢。。。。

ps。发现toolbox有个特点,右击命令的话可以批处理哦。

 

得到的的河流网络栅格:StreamNet

 

关闭除[Streamnet]之外的其它图层

(2)     提取河流网络矢量数据

在上一步的基础上进行,执行工具条 [Hydrology Modeling]中的菜单命令 [ Hydrology ]>>[ Stream Network As Feature ],在出现的对话框中将 [Direction Raster]参数指定为 “Flow Direction1”,[Accumulation Raster]参数指定为 “Flow Accumulation1”,[Minimum Number of Cells for a Stream]参数指定为 1000

 

确定后得到河流网络矢量数据

 

(3)     平滑处理河流网络

打开[编辑器]工具栏,执行工具栏中的命令[编辑器]>>[开始编辑],确保目标图层为河流网络图层[Shape1],

通过打开[Shape1属性表,并选择属性表的所有行选择图层[Shape1]中的所有要素,也可以通过要素选择按钮 选择图层中所有要素

执行[编辑器]工具栏中的命令[编辑器]>>[更多的编辑工具]>>[高级编辑]打开工具条:[高级编辑],点击其上的[平滑]按钮(下图中前头所指):

 

在[平滑]处理对话框中输入参数[允许最大偏移]:3

得到平滑后的河流网络矢量图层,执行命令: [编辑器]>>[停止编辑],保存所做修改。

 

比较平滑处理后的数据与没有进行处理过的数据

5.流域分析

在上一步的基础上进行,执行工具条 [Hydrology Modeling]中的菜单命令 [ Hydrology ]>>[ Watershed ],在出现的对话框中将 [Direction Raster]参数指定为 “Flow Direction1”,[Accumulation Raster]参数指定为 “Flow Accumulation1”,[Minimum Number of Cells for a Stream]参数指定为 2000

 

确定后得到流域栅格 [Watershed1]

 

打开[空间分析] 工具栏,执行命令:[空间分析]>>[转换]>>[栅格到要素] 将流域栅格转换成为矢量图层,按下图所示指定参数:

 

得到矢量数据:[WaterShed.shp]

 

设置图层[Watershed]属性[符号]后得到类似上图的效果

重复以上操作步骤并将[Minimum Number of Cells for a Stream]参数指定为 10000,看看结果是否有所不同。

6. 其它应用--降水分析(选做)

执行命令 [Hydrology]>>[Interactive Properties]

 

选中“Rain Drop”按钮,(如下图红色前头所指),在DEM上任意位置点击(表示这里有降雨),则显示一条路径表示此处的降水的最终流向