简明Arcgis流域提取方法

如题所述

第1个回答  2022-06-08
从数字高程模型(DEM)中提取流域是在进行水文、农业、环境等研究中常用的一个数据处理过程。提取高质量和尺度适宜的流域面图层,可以为后续研究提供有力的支持和帮助。应用Arcgis进行流域提取的技术在9.x版本就已经基本成熟,网上相关的教程也有很多,但是整个流程如何操作并不是说的很清楚。我根据自己的理解和实际工作中所遇到的问题,写一个简要的操作流程,既作为自己的备忘,也希望能帮助到需要的朋友。

为了避免不同汉化包翻译的名称不一样,我统一使用英文版本的名称,如果看不懂可以复制下来直接度娘,就可以知道相对应的中文名称。

输入:dem

结果:flowdir。

获取目标区DEM后直接使用flow direction进行处理,处理结果有可能是下面的两种。

如果是第一种,恭喜你,进入第九步。如果是第二种,说明你的dem比较“坑”,需要先进行填坑再提取流域。

输入:flowdir

结果:sink

虽然自然界地形中存在坑很正常,但是自然界出现比10*10m还大的坑就比较罕见了。我们的目的毕竟是为了提取流域,为了保证模拟水流能够按照流域的方向顺利流到出水口,我们需要把坑填上。

输入:

    input flow direction raster:flowdir

    input raster or feature pour point data:sink

结果:sinkshed

这一步是通过watershed工具推算出哪些区域的水会流到这些坑里

输入:

input raster or feature zone data: sinkshed

zone field: Value

Input value raster: dem

statistics type: minimum

输出:sink_min

通过区域统计得到“坑”的流域内高程的最低值

输入:

input zone raster:sinkshed

input weight raster:dem

输出:

sink_max

使用区域填充的结果是沿着“坑”流域的边界,也就是分水岭,把整个流域填平。这样就获得了“坑”流域的最高高程

输入:

sink_max - sink_min

输出:

sink_depth

这步没什么好说的,大值减小值得到“坑”的最大深度

输入:

input surface raster: dem

Z limit: sink_depth(max)

输出:filldem

Z limit中要填sink_depth中的上限值,我这里就是510。

输入:filldem

输出:fill_dir

如果这次输出的结果还是类似于下图这样的,那么英雄请你洗把脸然后重复2-8步。

输入:fill_dir

输出:accu

系统开始在无瑕疵的dem上下雨,然后计算流经每个栅格的水流量。

计算公式:con(accu>X,1)

输出:stream_r

公式中的X是要根据所在研究区,计划要提取的流域大小等因素确定的。过小会造成提取的河流过密,生成的流域细碎。如果过大会造成流域偏大,研究细节也就被埋没了。

输入:

input stream raster:stream_r

input flow direction raster:fill_dir

输出:stream_link

通过stream link可以把栅格的值按照河流分别赋值,同一河段的栅格值都一样。方便后续转为矢量线。

输入:

input stream raster:stream_link

input flow direction raster:fill_dir

输出:river_fea

这一步同样可以用raster to polyline完成,效果就是把栅格的河流转化为矢量的线。但据esri官方讲,stream to feature因为考虑的流向的原因,转化效果更好一些。

输入:

input flow direction raster: fill_dir

input raster or feature pour point data: stream_link

输出:watershed

到这一步流域提取就完成了,下一步就进入各位大侠的个人研究领域了。
相似回答
大家正在搜