【发布时间】:2021-05-03 16:14:06
【问题描述】:
我有这段代码,我的目标是计算我的栅格的 0.8 次方的 sin。
import os
os.chdir('D:/NOA/Soil_Erosion/test_Project/Workspace/Input_Data_LS_Factor')
import rasterio
import math
data = rasterio.open('Slope_degrees_clipped.tif')
band = data.read(1) # array of float32 with size (3297,2537)
w = band.shape[0]
print(w)
h = band.shape[1]
print(h)
dtypes =data.dtypes[0]
band_calc = math.sin(band)**0.8 # the formula I would like to calculate
但是,会弹出以下错误: 只有 size-1 的数组可以转换为 Python 标量/光栅
你知道我应该如何解决这个问题吗?
附:我尝试对其进行矢量化(np.vectorize()),但它不起作用,因为它需要一个实数。 当我使用 np.ndarray.flatten(band) 时,会发生同样的错误。
【问题讨论】:
标签: arrays trigonometry rasterio