使用 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)
。
我有以下 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)
。