地形计算,如梯度和天空视图
topocalc的Python项目详细描述
地形
topocalc
包是计算数字高程模型(DEM)上各种度量的函数集合。计算遵循Dozier and Frew, 1990中列出的梯度、地平线和天空视角因子的方程式。目前支持的计算有:
- 坡度和坡向坡度
- 方位角的水平角
- 从DEM上某个点可见的天空百分比的天空视图因子
背景
方位公约
对于方位角和方位角,约定南面为0度(0弧度),东面为正值(+90度或π/4弧度),西面为负值(-90度或-pi/4弧度)。北是-180度或-pi/2。在
坡度和坡向坡度
梯度法计算输入DEM的坡度和坡向。在topocalc.gradient
中有两种方法gradient_d4
和{
gradient_d4
模拟IPW ^{
gradient_d8
(默认)对DEM上给定点周围的3x3正方形使用二阶有限差分。在
坡度用于从北(0度)计算纵横比。转换函数将以度为单位,并转换为以南为0的弧度。在
水平角
DEM上某一点的水平角是给定方位角下从天顶到地平线的角度。按照Dozier and Frew, 1990和IPW ^{
对于两点i
和j
,我们比较了i
和{j
的所有点都不可见。如果斜率较小,则i
和{j
。这种搜索是在C语言中执行的,以大大加快计算速度。在
从horizon
报告的值是地平线角的余弦。在
天空视角因子
天空视图因子(svf
)是特定点可见的天空量。svf
介于0和1之间,1表示周围地形没有障碍物,0表示完全障碍物。svf
使用72个方向的坡度、坡向和水平角来估计DEM的天空视角因子。在
使用
安装
NOTE:
topocalc
has only been tested for Python 3.5 to 3.8 on Linux and MacOSX environments.
要安装:
pip install topocalc
渐变用法
fromtopocalc.gradientimportgradient_d8# Load the DEM into a numpy arraydem=load_dem(path_to_dem)# grid cell spacing for the DEMdem_dx=30dem_dy=30slope,aspect=gradient_d8(dem,dem_dx,dem_dy)
天空视图因子使用
^{pr2}$命令行界面
快来了!在
- 项目
标签: