如何解决band.ReadAsArray 在 gdal 中返回“1e+37”
我有一个 grd 文件。使用 qgis 工具信息,它显示如下:
我正在创建一个脚本来读取光栅带:
from osgeo import gdal
import osr
filename=r'C:\temp\Myfile.grd'
ds = gdal.Open(filename)
x = 0 # origin coordinate
y = 0 # origin coordinate
for b in range(ds.RasterCount):
band = ds.GetRasterBand(b+1)
print("band" + str(b+1))
array = band.ReadAsArray(x,y,1,1)
print(array)
脚本输出如下:
我想知道为什么 band4 返回“1e+37”,而不是 null 或没有值。 谁能告诉我如何在此处获取 null 或空字符串?
解决方法
我能够弄清楚,它是没有数据值的屏蔽数组。 下面的代码可以删除它。
array = band.ReadAsArray(0,1,1) # origin lat lon
value = array[0,0]
if value == ds.GetRasterBand(4).GetNoDataValue():
value = "No Data"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。