你好,我在把Tiff文件转换成numpy数组时遇到了一些问题。 我有一个16位签名的光栅文件,我想把它转换成numpy数组。 我习惯了这本gdal libarary。在
import numpy
from osgeo import gdal
ds = gdal.Open("C:/.../dem.tif")
dem = numpy.array(ds.GetRasterBand(1).ReadAsArray())
乍一看,所有的转换都很好,但我将python中的结果与GIS软件中的结果进行了比较,得到了不同的结果。在
Python结果
Arcmap结果
我发现numpy数组中有许多值低于91和278(实际的最小值和最大值),它们不应该存在。在
GDAL已经返回了一个Numpy数组,默认情况下,将其包装在
np.array
中创建该数组的副本。这是不必要的性能损失。只需使用:或者如果是单波段光栅,只需:
^{pr2}$重新统计,你确定ArcMap显示绝对高/低值吗?我知道QGIS通常从数据集的样本中提取统计数据(为了性能),有时根据设置使用百分位数(例如1%,99%)。在
编辑:顺便问一下,这是一个公共数据集吗?像SRTM瓷砖?如果你列出来源可能会有帮助。在
相关问题 更多 >
编程相关推荐