我的目标是在 GeoServer 中托管具有高程值的图块。
我下载了mapzen图块(链接在这里:https://www.opentopodata.org/datasets/mapzen/)
最初下载用于 opentopodata。我设置了一切并成功启动。
但现在我想在 GeoServer 中使用相同的 GeoTIFF。问题是,如果您只是将这个 GeoTIFF 放在图层中,那么 GeoServer 无法返回该图块并在日志中写入错误。据我了解,GeoServer 无法与 GeoTIFF 一起使用,GeoTIFF 有 1 个波段,并且每个波段的值超过 RGB 中的一个字节。
因此,我想到了将这些 1-band Geotiff 转换为 RGB 的想法。我想用 RGB 编码完整的高程值。
改造的本质如下: RGB(R = 1 字节)(G = 1 字节)(B = 1 字节)
https://www.checkyourmath.com/convert/color/decimal_rgb.php
我尝试使用 gdaldem color-relief,起初这个实用程序似乎是一种救赎,但事实上,事实证明这个实用程序并不是为了准确地替换颜色而设计的,它只是近似地替换颜色,并且会丢失按顺序排列的颜色。它或多或少可以正常使用一组明亮突出显示的颜色,但同时您可以简单地通过 RGB 值计算高程值,该值根据上面的线性变化的想法丢失了。
由于 gdaldem color-relief 无法证明自己适合上述任务,不幸的是,我正在考虑编写一个实用程序,将原始 GeoTIFF(1 波段)中的每个像素替换为 RGB,并以 3 字节加密提升值。但我还不知道如何处理它。
正如经常发生的那样,我在论坛上写了一个主题,几乎立即找到了答案。
解决方案:仍然是gdaldem color-relief。但排除插值,这会丢失大量数据。
结果,一切都变得清晰,所有颜色都就位。