沟谷网络的提取及沟壑密度的计算(ArcPy实现)
一、背景
沟壑密度是描述地面被水道切割破碎程度的一个指标。沟壑密度是气候、地形、岩性、植被等因素综合影响的反映。沟壑密度越大,地面越破碎,平均坡度增大,地表物质稳定性降低,且易形成地表径流,土壤侵蚀加剧。因此,沟壑密度的测定,对于了解区域地形发育特征,水土流失监测、水土保持规划有着重要的意义。
沟壑密度也称沟谷密度或沟道密度,指单位面积内沟壑的总长度。以公里/平方公里为单位。数学表达为
Ds为沟壑密度﹔>L为研究区域内的沟壑总长度(单位:公里);A为特定研究区域的面积(单位:平方公里)。
二、目的
掌握利用水文分析工具提取沟谷网络的原理及方法。
三、要求
(1)利用水文分析工具提取研究区域的沟谷网络。
(2)计算出该研究区域的沟壑密度。
四、数据
25m分辨率的DEM数据,区域面积约有59km²(\ChP11 \Ex3)。
五、模型构建器
六、ArcPy实现(代码只展示河谷网络的提取)
# -*- coding: utf-8 -*-
import arcpy
from arcpy.sa import *
print "输入示例:D:\桌面\Chp11\Ex3"
arcpy.env.workspace = raw_input("请输入数据所在的文件绝对路径:").decode('utf-8') # 工作空间
a = Fill('dem') # 填洼
b = FlowDirection(a) # 流向
c = FlowAccumulation(b) # 流量
d = Test(c, "value>100") # 条件测试
e = Con(d, 1) # 条件函数
StreamToFeature(e, b, '河谷') # 栅格河网矢量化
注意:
下图是模型构建器生成的表,它会自动生成几何长度字段;
而ArcPy生成的表是不会自动生成几何长度字段的;
所以,我们得自己添加几何字段,注意这里已经把单位设置成了km。
七、结果
实验结束啦 byebye~~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!