0、前言
在学习ArcGIS初期,水文分析算是一个入门。步骤比较繁琐,当时也是反复看大牛写的帖子,跟着大牛的教程做了一个模型构建器工具。将傻瓜式构建步骤分享一下。
想要了解详细步骤及原理的,移步李远祥的微博—ArcGIS 水文分析专题
最终模型构建器。看得懂的不用往下啦。
1、思路
水文分析整个过程会生成非常多的数据,且在过程中可能会多次生成不同参数的数据。所以一开始就希望能够将生成的数据存放于一个新的数据库。将最终需要的数据(如流域范围面要素、河网分级线要素)等转存于基础数据库中。
为了方便多次调用,可以酌情考虑是否将新建数据库的步骤一起放进构建器中(这里会分享包含有新建数据库的完整步骤)
2、原料
2.1 数据
基于已经有高程栅格的基础。
- 高程栅格
- 流域出水口(可选)
2.2 所用工具
主要工具都是ArcGIS自带的水文工具
按大致顺序来就是:
- 填洼
- 流向
- 流量
- 条件函数
- 河网分级
- 栅格河网矢量化
- 盆域
- 河流链
- 捕捉倾泻点
- 集水区(分水岭)
- 栅格转面
3、模型构建
3.1 在目标文件夹创建空白数据库
打开空白模型构建器。
先保存一下,再开始构建(及时保存永远是好习惯)。
保存会自动打开工具箱文件夹,打开我的工具箱
,并新建一个工具箱,命名。这里我这里命名为常用工具箱
。
双击打开新建的工具箱,将名称改为水文分析模型,并保存。
3.2 新建基础数据库
先来创建用来存储过程文件的水文数据库。插入---创建变量
选择文件夹
,点确定
出现椭圆型的框,对其右键重命名(我这边重命名为目标文件夹)并✔上模型参数。模型参数是指每次调用工具时需要自选的变量。
找到工具创建文件地理数据库
,鼠标单机拖到模型构建器中。
双击创建文件地理数据库
,在弹出来的对话框中设置好参数(循环标志代表该参数为模型中参数)。确定后,可以发现目标文件夹与工具直接连上了实线箭头。
右键工具,也可以把文件命名作为模型参数,椭圆框右上角会出现字母P。新建数据库就好了。
为了数据库在后续过程中方便调用,要对新建的数据库进行路径解析。插入
—仅模型工具
—``
我们需要解析后的路径及文件,所以,放两个解析路径工具。解析类型分别为PATH
和FILE
。并对应重命名解析后的值
也可以通过连接工具进行参数连接。
最终,新建数据库部分完成。这部分可以另存为”在目标文件夹新建地理数据库“工具,以后可以反复调用。
习惯于自己新建数据库的(毕竟很方便),直接把数据库拉进模型构建器中,再对其进行路径解析就好了。
3.2 水文基础分析
3.2.1 基础分析:填洼、流向、流量
针对栅格数据(DEM)展开水文分析。插入---创建变量---栅格图层
重命名为DEM
并勾选模型参数。也可以直接将目标DEM文件拖进去。
把三个工具都拖进来。并连接。
设置好生成的文件路径。通用格式为:%PATH%\%FILE%\文件名
你再点开会发现有个惊叹号,提示工作空间不存在。因为前面新建的数据库没有和后面的水文分析关联起来。
到这里可以验证一下模型构建器工具的可用性。选择文件夹及DEM数据,点✔验证整个模型
。会发现,整个模型都变成了彩色。再点一下✔
右边的蓝色三角形,模型就会运行。
如果你忍不住运行的话,会发现文件夹下多了一个新建的数据库及生成的文件。
3.2.2 盆域分析
先做盆域分析,盆域分析仅与流向有关,得出的数据也与其余数据无关,所以这一步可以放在基础分析中也可以单独做。方便出图的话,可以把栅格转面一起放进来。
基础分析部分的水文分析模型工具。
其实到这里,应该已经比较清除模型构建器的操作了,可以这个结构框架来做一个坡度坡向类的基础分析工具。
3.3 河网分级与集水区分析
后续分析就是需要用到流量划分阈值的,工具是条件函数,阈值的定义简单说就是设定河流的源头点是多少个栅格汇聚而来的流量。比较可行的做法的看一下通用的地图范围,通过地图上的河流源头点就近查看最大流量值,以此为参考。
后续分析建议单独做一个工具,方便单独调用(毕竟,新建数据库、流量流向这些比较方便顺手就做了)。再把工具放入之前的工具中就行了。满足使用的不同情境。
3.3.1 条件函数
新建模型构建工具并命名为水文分析_阈值
。插入两个栅格图层变量,重命名并设置为模型参数;插入工作空间,并对其路径进行解析。插入工作空间是方便这个工具单独调用,如果新生成的数据与流量流向放在同一个数据库中,也可以获取流向流量的工作空间。
你会发现对话框中出现了一个不存在的%阈值%,这个阈值是方便命名及简化表达式,所以把阈值这个数值作为一个变量。插入--创建变量--双精度
,重命名为阈值
,并连接为条件函数的前提条件,设置为模型参数。
接下来的河网及集水区分析,都是以流量_%阈值%
及流向展开的。
3.3.2 河网分级
河网分级:
栅格河网矢量化:
3.3.3 集水区分析
河流链
捕捉倾泻点:情况一:不考虑外部点位数据匹配问题,仅以DEM为数据基础
捕捉倾泻点:情况二:存在外部点位数据,需要配准点位
添加捕捉距离参数
插入---创建变量---要素图层
, 重命名为外部倾泻点
并设置为模型参数
设置捕捉倾泻点参数:
集水区:
集水区栅格转面:
至此,拓展工具也完成的,该工具可以单独使用。
3.4 汇总工具
数据明确希望直接一步到位的,可以把水文分析_阈值工具放入水文基础分析工具中。不记得要怎么连接数据的话可以先把所有变量都点出来,然后对照着进行连线。
连线后,会发现原先参数已经单飞了,可以删掉他们。并把剩下的设置为模型参数。
至此,这个模型工具就完整了。保存后双击调用后出现的对话框是这样的:
4、补充
工具做好了,当下比较清除工具内容及使用注意事项,但是过一阵很容易忘记,可以为创建的工具写一点文档说明。
在目录中找到创建的工具,右键---项目描述
编辑
可以在对应的地方填写相应的信息及说明图。参考ArcGIS中自带的工具说明。保存后,便可以在工具帮助中查看。