沟谷网络的提取及沟壑密度的计算(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~~

>>点我跳转 > 文章推荐

posted @ 2021-10-12 11:00  槑孒  阅读(1111)  评论(2编辑  收藏  举报