我试图从landsat8 geotiff文件读取像素值和坐标,但在将文件作为数组读取后,它只显示geotiff文件的零。我使用以下代码读取文件:
from osgeo import gdal
gtif = gdal.Open( "FileName.TIF" )
band = gtif.GetRasterBand(1)
print(band.ReadAsArray())
““文件名.TIF是陆地卫星的波段图像之一。在
我还想遍历整个图像并获得坐标,所以请建议是否有任何简单的方法来遍历图像。
以下是我使用的图像链接:
^{pr2}$
Tags:
你看图片的方式似乎还可以。但是,您不能仅通过打印来验证图像是否为全零。它只打印角点,因此您只能看到零,因为您的图像的所有角点都是零。在
可以使用numpy验证是否存在大于0的值。将您的代码更改为以下内容。请注意,现在它将打印39935,这是光栅的最大值(不是零)
为了获得特定像素的坐标,可以使用与获取光栅右下角坐标相同的方法。在
^{pr2}$在上面的代码中,}是左上角的坐标。这可以直接从光栅中提取。}是每个像素的大小。鉴于此,右下角的坐标}可以根据前面提到的值来计算。在
ulx
和{xres
和{lrx
和{现在为了找到图像中任何像素的坐标,您只需将}替换为需要坐标的像素项。在
gtif.RasterXSize
和{所以为了找到每个像素的坐标,可以执行以下操作
相关问题 更多 >
编程相关推荐