0
点赞
收藏
分享

微信扫一扫

沟谷网络的提取及沟壑密度的计算(ArcPy实现)

沟壑密度是描述地面被水道切割破碎程度的一个指标。沟壑密度是气候、地形、岩性、植被等因素综合影响的反映。沟壑密度越大,地面越破碎,平均坡度增大,地表物质稳定性降低,且易形成地表径流,土壤侵蚀加剧。因此,沟壑密度的测定,对于了解区域地形发育特征,水土流失监测、水土保持规划有着重要的意义。

一、背景

沟壑密度是描述地面被水道切割破碎程度的一个指标。沟壑密度是气候、地形、岩性、植被等因素综合影响的反映。沟壑密度越大,地面越破碎,平均坡度增大,地表物质稳定性降低,且易形成地表径流,土壤侵蚀加剧。因此,沟壑密度的测定,对于了解区域地形发育特征,水土流失监测、水土保持规划有着重要的意义。

沟壑密度也称沟谷密度或沟道密度,指单位面积内沟壑的总长度。以公里/平方公里为单位。数学表达为

沟谷网络的提取及沟壑密度的计算(ArcPy实现)_字段


Ds为沟壑密度﹔>L为研究区域内的沟壑总长度(单位:公里);A为特定研究区域的面积(单位:平方公里)。

二、目的

掌握利用水文分析工具提取沟谷网络的原理及方法。

三、要求

(1)利用水文分析工具提取研究区域的沟谷网络。
(2)计算出该研究区域的沟壑密度。

四、数据

25m分辨率的DEM数据,区域面积约有59km²(\ChP11 \Ex3)。

五、模型构建器

沟谷网络的提取及沟壑密度的计算(ArcPy实现)_字段_02

六、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实现)_自动生成_03


而ArcPy生成的表是不会自动生成几何长度字段的;

沟谷网络的提取及沟壑密度的计算(ArcPy实现)_自动生成_04


所以,我们得自己添加几何字段,注意这里已经把单位设置成了km

沟谷网络的提取及沟壑密度的计算(ArcPy实现)_自动生成_05

七、结果

沟谷网络的提取及沟壑密度的计算(ArcPy实现)_数据_06


沟谷网络的提取及沟壑密度的计算(ArcPy实现)_数据_07


沟谷网络的提取及沟壑密度的计算(ArcPy实现)_字段_08


沟谷网络的提取及沟壑密度的计算(ArcPy实现)_字段_09

实验结束啦 byebye~~

​​>>点我跳转 > 文章推荐​​

箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。



举报

相关推荐

0 条评论