使用png8代替png24作为RGB高度图



我有一个1波段DEM geotiff,和一个转换高度的公式->RGB和RGB ->海拔(类似于https://docs.mapbox.com/help/troubleshooting/access-elevation-data)。

使用公式(和GDAL/Python),我将geotiff转换为3波段(R, G &B) geotiff,每个波段的值在0-255范围内。

使用mapnik/mod_tile,然后我将geotiff作为PNG tile提供给web客户端。如果我将mod_tile设置为24位或32位png,一切都很好。但是如果我把它们作为8位png(减少它们的大小),那么解码的值就有点偏离(我看不出图像的区别,但是RGB值并不完全相同,因此混淆了我解码的高度)。

我是否期望能够做我想做的(检索确切的RGB值)与8位png而不是24/32,或者有一些我不理解的8位png(如果是这样,我将不得不潜入mod_tile代码,我想当我们问8位,它生成24或32,然后压缩)?

不,您期望可以将任何24位值的集合无损地压缩为8位值是不对的。如果原始数据中有超过256个不同的24位值,那么其中一些不同的值必然会映射到相同的8位值。

最新更新