查看原文
其他

在ArcGIS中勾绘全流域方法

松玄月下 GIS前沿 2022-03-17


所需数据:emidalat,一个高程栅格;emidastream.shp,一个流域shapefile。

用高程栅格数据集勾绘整个流域的操作流程。数据源是高程栅格。emidastream.shp作为参照图层。

除非特别说明,所有工具都驻留在空间分析工具/水文工具集。


1. 打开 emidalat和emidastream.shp。



2. 检查中emidalat是否存在小洼地。双击流向工具。选择emidalat作为输入地面栅格网,键入temp_flowd作为输出的水流方向栅格,点击确定。



3. 在temp_flowd建立后,双击汇工具,选择temp_flowd作为输入的水流方向栅格,将sinks设置为输出栅格,点击确定。



4. 填平emidalat中的小洼地。双击填洼工具,选择emidalat作为输出地面栅格,设定emidafill为输出地面栅格,点击确定。




5. 用emidafill继续上述操作。双击流向工具,选择emidatfill作为输入地面栅格,设定flowdirection为输出的水流方向栅格,运行命令。



6. 接着创建一个流量累积栅格。双击流量工具,选择flowdirection为输入的水流方向栅格,键入flowaccumu为输出累积栅格,点击确定。




7. 选择(或设定临界值)flowaccumu中流入值超过500个像元的单元,双击空间分析工具/条件分析工具集的条件函数工具,选择flowaccumu作为输入的条件栅格,键入表达式Value > 500,键入1作为常数值,设定net 为输出栅格,并点击确定运行命令。在接下来的分析中将用到net作为输入河流栅格。



8.为net中的交汇点(或交叉点)间的每个河段指定一个唯一值,返回到Hydrology工具集,双击河流链接工具,选择net作为输入的河流栅格,flowdirection为输入的流向栅格,source为输出栅格。点击确定。



9.至此,准备了勾绘流域所需的所有数据。双击分水岭工具,选择flowdirection作为输入的流向栅格,source为输入的栅格,watershed指定为输出格网,点击OK。将watershed的符号改变成唯一值,以便可以看出每一个流域。



ArcMap中的Python脚本完成以上操作,用这个选项,首先在ArcMap的标准工具条中打开Python窗口。假设工作空间是d:/chap(“/”用来指定路径),其中包含emidalat,你需要在“>>>”后输入一下预计,以完成:


>>> inport arcpy

>>> from arcpy import env

>>> from arcpy.sa import *

>>> env.workspace = “ d:/chap14”

>>> arcpy.CheckExtension(“ Spatial ”)

>>> outflowdirection = FlowDirection (“ emidalat”)

>>> outsink = Sink (“ outflowdirection”)

>>> outfill = Fill (“ emidalat”)

>>> outfd = FloeDirection (“ outfill”)

>>> outflowac = FlowAccumulation (“ outfd”)

>>> outnet = Con (“ outflowac”, 1, 0,”VALUE>500”)

>>> outstreamlink = StreamLink (“ outnet”,” outfd”)

>>> outwatershed = Watershed (“ outfd”,” outstreamlink”)

>>> outwatershed.Save (“ outwatershed”)

脚本的前5行输入了arcpy和Spatial Analyst 工具,定义了工作空间。接下来是使用FlowDirection、Sink、Fill、Flowdirection(已填洼DEM)、FlowAccumulation、Con、StreamLink和Watershed这些工具的语句。每输入一条语句,你会在ArcMap中看到输出结果。


- END -


详细讲解ArcGIS生成DEM数字高程模型数据
ArcGIS水文分析实战教程——库容和淹没区计算
ArcGIS利用DEM进行洪水淹没分析(附练习数据下载)
7.72GB ARCGIS  ERDAS  ENVI干货教程网盘下载
推荐 | ArcGIS地图制图教程——超详细(附练习数据下载)
ArcGIS从0开始,你需要了解的17个制图小技巧

戳原文,更有料!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存