Rasterio 为每个波段设置一个唯一的名称
Rasterio set a unique name for each band
我有一个形状为 (b, N, M)
的数组,其中有 b
个条带或大小为 N x M
的图像。我可以使用以下方法将它们写入多波段 .tiff
文件:
band_nums = range(1, b + 1)
with rasterio.open(file_path, 'w', **meta_data) as dst:
dst.write(arrays, indexes=band_nums)
我需要做的是为每个波段设置一个名称。目前,它设置默认名称 Band_0, Band_1, ..., Band_b
.
您可以使用 set_description
方法:
with rasterio.open(
'.your_file.tif',
'w',
driver='GTiff',
height=height,
width=width,
count=2,
dtype=dtype,
crs=crs,
transform=transform,
) as dst:
dst.write(band_1, 1)
dst.set_band_description(1, 'Band 1 Name')
dst.write(band_2, 2)
dst.set_band_description(2, 'Band 2 Name')
否则,正如您所建议的,此解决方案同样有效:
dst.descriptions = tuple(['Band 1 name', 'Band 2 name', 'Band 3 name'])
我有一个形状为 (b, N, M)
的数组,其中有 b
个条带或大小为 N x M
的图像。我可以使用以下方法将它们写入多波段 .tiff
文件:
band_nums = range(1, b + 1)
with rasterio.open(file_path, 'w', **meta_data) as dst:
dst.write(arrays, indexes=band_nums)
我需要做的是为每个波段设置一个名称。目前,它设置默认名称 Band_0, Band_1, ..., Band_b
.
您可以使用 set_description
方法:
with rasterio.open(
'.your_file.tif',
'w',
driver='GTiff',
height=height,
width=width,
count=2,
dtype=dtype,
crs=crs,
transform=transform,
) as dst:
dst.write(band_1, 1)
dst.set_band_description(1, 'Band 1 Name')
dst.write(band_2, 2)
dst.set_band_description(2, 'Band 2 Name')
否则,正如您所建议的,此解决方案同样有效:
dst.descriptions = tuple(['Band 1 name', 'Band 2 name', 'Band 3 name'])