生成GeoTIFF色彩图

问题描述 投票:4回答:1

我正在生成2D统计图,并且还希望生成并保存图像颜色图。平均尺寸图像的数据类型为float32。以下示例是从在线资源修改而来的:

with rasterio.open(name,'w',**profile) as dst:
    dst.write(data.astype(np.float32), 1)
    dst.write_colormap(
        1, {
            0: (255, 0, 0, 255),
            255: (0, 0, 255, 255) })
    cmap = dst.colormap(1)
    print (cmp)

不起作用,并且对colormap(1)的调用返回NULL表并终止程序。

将数据类型更改为uint8或uint16,它在经过某种方式后就可以工作,但是我无法找到有关如何更改浮点数和整数数据类型的颜色表和映射的示例。

有人可以提供一个片段来显示如何为浮点图像生成不同的颜色图,颜色插值和/或颜色调色板吗?当前使用rasterio时,如果有人可以发布解决方案,我也可以转换此GDAL。

python gdal colormap geotiff rasterio
1个回答
0
投票

您的程序崩溃的原因几乎可以肯定是因为您在文件仍处于打开状态时正在读取文件。颜色表的格式和语法正确。以下代码将退出第一个上下文管理器以关闭文件,然后重新打开。请尝试:

with rasterio.open(name,'w',**profile) as dst:
    dst.write(data.astype(np.float32), 1)
    dst.write_colormap(
        1, {
            0: (255, 0, 0, 255),
            255: (0, 0, 255, 255) })

with rasterio.open(name) as dst:
    cmap = dst.colormap(1)
    print (cmp)
© www.soinside.com 2019 - 2024. All rights reserved.