Python 3.x 在python3.x中计算坡向和坡度(matlab gradientm函数)
Python 3.x 在python3.x中计算坡向和坡度(matlab gradientm函数),python-3.x,equivalent,Python 3.x,Equivalent,gradientm是一个matlab函数,用于计算数据网格的梯度、slope和aspect 语法 [坡向、坡度、坡度、坡度]=坡度M(Z、R) 说明 [ASPECT,SLOPE,gradN,gradE]=gradientm(Z,R)计算常规数据网格Z相对于参考R的坡度、ASPECT以及坡度的北向和东向分量。如果网格包含以米为单位的高程,则生成的坡向和坡度以度为单位从北顺时针和从水平向上。北部和东部梯度分量是地图在北部和东部方向上每米距离的变化。计算对默认地球椭球体上的map变量使用有限差分 问题
gradientm
是一个matlab函数,用于计算数据网格的梯度、slope
和aspect
语法
[坡向、坡度、坡度、坡度]=坡度M(Z、R)
说明
[ASPECT,SLOPE,gradN,gradE]=gradientm(Z,R)计算常规数据网格Z相对于参考R的坡度、ASPECT以及坡度的北向和东向分量。如果网格包含以米为单位的高程,则生成的坡向和坡度以度为单位从北顺时针和从水平向上。北部和东部梯度分量是地图在北部和东部方向上每米距离的变化。计算对默认地球椭球体上的map变量使用有限差分
问题
我想要python中的等价物
。
我创建了这个python库,但它是为Python2.x开发的,但我正在使用Python3.x
这是通过PyDEM
使用DEM处理器
为DEM
文件计算slope
和aspect
的方法:
# needs to match above command
filename = 'Shasta-30m-DEM.tif'
# instantiate a processor object
processor = DEMProcessor(filename)
# get magnitude of slope and aspect
mag, aspect = processor.calc_slopes_directions()
步骤1:安装
步骤2:安装
第三步:简单易懂:
from osgeo import gdal
import numpy as np
import rasterio
def calculate_slope(DEM):
gdal.DEMProcessing('slope.tif', DEM, 'slope')
with rasterio.open('slope.tif') as dataset:
slope=dataset.read(1)
return slope
def calculate_aspect(DEM):
gdal.DEMProcessing('aspect.tif', DEM, 'aspect')
with rasterio.open('aspect.tif') as dataset:
aspect=dataset.read(1)
return aspect
slope=calculate_slope('DEM.tif')
aspect=calculate_aspect('DEM.tif')
print(type(slope))
print(slope.dtype)
print(slope.shape)
如何获取与哪个坐标相关的坡度值的数据?你知道吗?目前它返回numpy.ndarray,其中包含一堆值