在Python中创建叠加栅格图像的numpy数组
我正在尝试把一个堆叠的栅格图像读取成一个numpy数组。实际上,我想读取所有的波段。但是当我检查数组的维度时,发现只有0。请告诉我这是为什么?我该怎么做呢?
>>> import numpy, gdal, gdalconst, os, pandas
>>> os.chdir(r'N:\PhenologyMOD09\ImagesUsed\Condition\ndvi\Filter_tiff')
>>> gdal.AllRegister()
>>> inRas = gdal.Open("2000_allbands.tif", gdalconst.GA_ReadOnly)
>>> myarray = numpy.array([gdal.Open("2000_allbands.tif", gdalconst.GA_ReadOnly).ReadAsArray()
for name, descr in inRas.GetSubDatasets()])
>>> myarray.shape
(0,)
提前谢谢你!
1 个回答
0
这里是你想做的一个简化版本:
from osgeo import gdal
inRas = gdal.Open("2000_allbands.tif")
myarray = inRas.ReadAsArray()
print(myarray.shape) # (num_bands, y_size, x_size)