目录
要计算SCA:填洼——流向——流量——栅格计算单位面积汇流量
今天过了两关书生实战营,也不要忘了学习GIS。
今天学啥呢?今天学
【实用教程】基于GIS和DEM的地形地貌特征提取与分析—以河北省为例(附详细步骤)_河北省dem-CSDN博客
整一个浙江省丽水市的dem数据,试着提取出来,然后以栅格为单元,进行多值提取到点。
坡向、坡度、高程差、平面曲率、剖面曲率、径流强度指数、地形湿度指数(TWI)、地形起伏度、地表粗糙度
数据名称 | 格式 | 来源 | 网址 | 注意 |
30mDEM | .tif | 地理空间数据云 | https://www.gscloud.cn/#page1 | 下载的为.img,需要拉入arcgis建立金字塔 |
丽水市行政区域 | .shp | 国家地理信息公共服务平台 | 天地图 https://cloudcenter.tianditu.gov.cn/administrativeDivision/ | 下载的为geojson格式,需要转换 |
这里主要介绍三个在线转换工具mapshaper
、MapJS
和geojson.io
,其中前两个均可以进行GeoJSON与ShapeFile的相互转换
;而另一个在线工具仅能实现GeoJSON向ShapeFile的转换
。【我之前有shp边界数据,这里我也没试过】
什么时候需要投影栅格???
(1)镶嵌至新栅格
将丽水市分幅的DEM数据镶嵌至整幅,如图所示。格外注意:像素类型,取值范围要包括原始取值范围!!!默认是8,我改成16,按照8不能包含1000多。
结果是这样的:
(2)按掩膜提取
(3)地形特征提取
等高线提取
采用【等值线】工具,结合DEM数据进行等值线分析
山体阴影
这个分析没多大用
坡度
剖面曲率
根据坡度计算破面曲率,输入是坡度!!
曲率分为平面曲率和剖面曲率。
剖面曲率:是对一个研究区的dem进行坡度分析后的结果再一次进行坡度分析。
平面曲率:是对研究区的dem进行坡向分析后的结果再一次进行坡度分析。
坡向
平面曲率
根据坡向计算平面曲率,注意输入是坡向!!!
曲率分为平面曲率和剖面曲率。
剖面曲率:是对一个研究区的dem进行坡度分析后的结果再一次进行坡度分析。
平面曲率:是对研究区的dem进行坡向分析后的结果再一次进行坡度分析。
地形起伏度
采用【焦点统计】,计算DEM数据,11×11窗口内的最大值
局部最大高程计算:
局部最小高程计算:
栅格计算器 ——地形起伏度计算:max-min
地形粗糙度
采用【栅格计算器】,对坡度进行弧度制转换
1/Cos("坡度.tif"*3.1415926/180)
高程差???
高程就是dem数据,高程差??是max-min不就是地形起伏度吗?
径流强度指数(SPI)
SPI值越高,表明径流集中可能导致土壤侵蚀。SPI公式形式较多,常见公式如下:
SPI=SCA * Tan(slope)
SPI=ln[SCA * Tan(slope)]
SPI=ln[SCA * Tan(slope)*100]
其中,SCA和slope意义与上述相同。本文基于公式2进行计算。所以要先计算SCA和slope
ArcToolbox→Spatial Analyst Tools (Spatial Analyst工具)→Hydrology (水文分析)→Fill (填洼)
要计算SCA:填洼——流向——流量——栅格计算单位面积汇流量
填洼不成功什么都没有的话,把这个并行处理改成0,就行了
流向(也要把并行处理设计为0)
流量
SCA栅格计算器
公式为:
Con("流量_丽水" ==0,1,"流量_丽水") *900 / Con("流向_丽水" ==1,30, Con("流向_丽水" ==4,30,Con("流向_丽水" ==16,30, Con("流向_丽水" ==64,30, Con("流向_丽水" ==2,30 * SquareRoot(2) , Con("流向_丽水" ==8,30 * SquareRoot(2), Con("流向_丽水" ==32,30 * SquareRoot(2), Con("流向_丽水" ==128,30 * SquareRoot(2)))))))))
其中,900为栅格大小,即栅格分辨率的平方,需要根据自己的数据像元大小进行修改(本文为30m*30m,因此为900),且当"Flow Accumulation"为0时没意义,至少应为1。对于流向为1、4、16、64 的栅格,除以栅格尺寸,这里是30;对于流向为2、8、32、128的栅格,除以栅格尺寸的√2倍,这里是√2倍的30。
SPI栅格计算
SPI=ln[SCA * Tan(slope)]
Ln("SCA"*Tan(Con("Slope_丽水市_301" <=0,0.00001,Con("Slope_丽水市_301" >0 ,"Slope_丽水市_301" *3.1415926/180))))
其中,求Tan(slope)时需要先将角度化为弧度;且当角度为0时将其自定义为0.00001,否则无意义。
这个径流强度指数有负值????
地形湿度指数(TWI)
TWI是区域地形对径流流向和蓄积影响的物理指标。公式如下:
TWI=ln[SCA / Tan(slope)]
其中,SCA代表单位面积的汇流量,slope代表坡度(以度为单位)。所以要先计算SCA和slope
Ln("SCA" / Tan( Con("Slope_丽水市_301" <=0,0.00001 , Con("Slope_丽水市_301" >0 ,"Slope_丽水市_301" *3.1415926/180) ) ) )
多值提取到点
点要素+栅格数据 (点太多的话,对栅格重采样,30*30—>300*300,那所有的图层都要重采样吧,那我还是不重采样了)(假如只是为了得到点,那就用300*300转点,再用30*30获取点的数据,也行啊)
栅格转点——获取点要素
放大是这样的
点太多了,后面多值提取怎么出错呢,重采样一下
多值提取到点
表转excel
3种方法教你将ArcGIS属性表转换为Excel表格 - 知乎这个链接的方法似乎不错
我先导出表,得到【栅格转点300_ExportTable】,在进行表转excel,就行了,奇奇怪怪。
至此,关于dem提取地形因子的一系列流程大约摸清楚了,但是其中细节可能还有问题,再说吧老铁们。