python - 生成 GeoTIFF 颜色图
问题描述
我正在生成 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。
解决方案
您的程序崩溃的原因几乎可以肯定是因为您在文件仍处于打开状态时正在读取它。颜色表的格式和语法是正确的。以下代码将退出第一个上下文管理器以关闭文件,然后重新打开。请试试:
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)
推荐阅读
- cmake - 如何在 CMake 项目中正确链接来自 vcpkg 的库
- node.js - 作为异步系列的一部分发送带有附件的电子邮件时出现 Mailgun 错误
- javascript - 使用 http.post 的 Irreguler 控制流
- ios - 如何防止 Speech.Framework iOS 访问联系人列表?
- java - 存储大量数据,然后用 Java 将其写入文件的最佳方法是什么?
- typescript - 有人可以解释这个功能吗?
- python - 循环并合并以创建新列表
- python-3.x - fasttext 适用于 ubuntu 终端,但不适用于 jupyter notebook
- javascript - 结合正则表达式进行手机号码验证
- security - 如果非成熟的 ncc 管理的 IP 地址块,如何检查国家名称?