最近想在工作之余,对Arcgis里面的分析工具进行一个深入的研究。主要是图中的红色框选的工具条。挖个大坑,然后自己慢慢填。


第一篇就记录一下水文分析工具(hydrology),水文分析工具工具条下面包含盆域分析、填挖、汇流累积量、流向分析、河流长度计算等等。如果要进行水文分析、绘制汇水区域,基本会将水文分析下面的工具全用到。

所需要的源数据:DEM数据(数字高程模型数据)
来源:从地理空间数据云网站获取。网址为 http://www.gscloud.cn/ 从该网址下载到的DEM数据分辨率为30m,进行一般的调查精度是可以的。但是如果用于科研,应使用更高精度的商业数据,或者自行测绘高程点,建立DEM模型。
(1)无洼地DEM生成
1水流方向提取
用到flow dirction工具

输入DEM数据,输出为文件路径、flowdir,表示水流方向文件。得到如下结果

2洼地计算
会使用sink工具
输入为上一步得到的flowdir文件,输出文件命名为sink

得到如下结果

3洼地深度计算
使用工具为watershed
第一个输入选flowdir,第二个输入选sink,输出为watershsink

结果为

4计算每个洼地贡献的最低高程
此处会用到分析工具条下面的zonal工具,这个工具条下次再好好研究。此处先使用里面的zonal statitics工具,输入、输出的文件见图。



得到洼地最低高程
5然后计算洼地出水口高程,利用zonal fill工具


得到出水口高程和洼地最低高程,二者之差就是洼地深度。
6洼地深度计算
此时要用到栅格计算器工具(raster cacurlater),在地图代数工具(map algebra)下面。

进入界面是这样的

此处各个版本的教程介绍的不详细,也有错误,在这详细写写。要是万一有人感兴趣,也可以问我要教程。
这个计算器就是一个vb的程序,里面输入的语法要符合语句的语法,有的教程上面在介绍的时候,直接说,输入sinkdep=(【zonalmax】-【zonalmin】)然后点击ok即可。这个办法主要在于字母的大小写、中英文要输入正确。我没试过,感兴趣的可以按照教程试一下。
另一种办法是老板交给我的,在输入的时候输入sinkdep=
zonalmax、zonalmin、“-”分别在左上角和右上角用鼠标点击即可。不用再用手输入其他符号,输出的名称同sinkdep


结果如图
7洼地填充
会用到fill工具

生成无洼地DEM数据
结果如图,表面光滑了许多

(2)汇流累积量计算
用到flow accumulation工具
第一步先需要提取水流方向,方法同(1)1。得到无洼地水流方向,用于汇流累积量计算。

得到结果如下

(3)水流长度计算
用到flow length工具
输入选择无洼地水流方向、输出文件命名为flowup、flowdown,分别代表溯流计算、顺流计算。
结果如图


(4)河网提取
1河网生成
河网生成步骤在教程里面有好几种方法,这里我研究了其中一种,还是利用上面使用过的栅格计算器工具,筛选河流。这里的关键就是前面的分析计算是利用dem数据(高程)得到了洼地等数据,这里本质就是给定一个经验数值,来计算出来多大的洼地算是河流。当然,包括了水流方向、汇流累积量等等的计算(此处为本人理解)
经验数值此处选择的500。会根据实际情况更改大小。大家可以多试试其他数值。
再输入计算语句时,语句为streamnet=“flowacc”>=500
该程序语句意思为汇流累积量大于等于500的“河流”才被统计为河流。然后将数值赋值给streamnet。同上面所说flowacc、大于等于、500均可以利用鼠标点击输入。

结果如图

此时计算得到的是栅格河网,需要将其矢量化。
利用到的工具是stream to feature

得到结果如图

然后是stream link的生成
得到以下结果

然后进行河网分级
教程提到两种方法。


(5)流域分割
先是用到盆域分析工具(basin)

汇水区出水区确定


集水区域形成

自此,水文分析就做完了。正常根据实际情况,还要根据分水岭、山脊线,绘制出矢量图。
到此,水文分析下面的工具就基本全用完了,(除了stream order)
水文分析的工具条属于相辅相成,一个承接着一个。基本要用到水文分析,就会用到所有的工具。
至于另外的工具类型,也有并列的类型,像插值分析工具,就属于不同的插值方式,每个工具根据不同的插值方法有不同的工具。
网友评论