在Python中创建叠加栅格图像的numpy数组

1 投票
1 回答
1822 浏览
提问于 2025-04-18 06:42

我正在尝试把一个堆叠的栅格图像读取成一个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)

撰写回答