使用 rasterio 将数组保存为 Geotiff

Saving array as Geotiff using rasterio

我有以下 numpy 数组:

supervised.shape
(1270, 1847)

我正在尝试使用以下代码通过 rasterio 将其保存到 GeoTIFF:

with rasterio.open('/my/path/ReferenceRaster.tif') as src:
    ras_meta = src.profile

with rasterio.open('/my/output/path/output_supervised.tif', 'w', **ras_meta) as dst:
    dst.write(supervised)

其中 ras_meta 是:

{'driver': 'GTiff', 'dtype': 'float32', 'nodata': None, 'width': 1847, 'height': 1270, 'count': 1, 'crs': CRS.from_epsg(32736), 'transform': Affine(10.0, 0.0, 653847.1979372115,
       0.0, -10.0, 7807064.5603836905), 'tiled': False, 'interleave': 'band'}

我遇到了以下我无法理解的错误,因为参考栅格和我的 supervised 数组具有相同的 shape

ValueError: Source shape (1270, 1847) is inconsistent with given indexes 1

知道这里的问题是什么吗?我没有完全理解错误的含义。

write 需要一个形状为 (band, row, col) 的数组。您可以重塑数组,也可以使用 write(supervised, indexes=1)