首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在ArcGIS中勾绘全流域方法

所需数据: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 -

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200810A0T4FN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券