使用lzw
和deflate
压缩使用-co predictor=2
可以帮助平滑地变化图像,因为它压缩了像素之间的差异而不是绝对值,并且这些差异会变小并且具有更多的图案(ref)。Predictor仅对lzw
和deflate
压缩有用,该选项对其他方法无效。
gdal_translate -co compress=lzw -co predictor=2 ...
预测变量的节省可能是巨大的。我只是将使用默认LZW设置的高达17GB的16位Geotiff高程模型的目录重新压缩为只有预报器= 2的5GB。
关于预测变量2和3之间的差异以及何时最佳使用预测变量(ref1,ref2)的信息存在冲突。也许为另一个问题助燃。
节省的另一个简单选择是-co tiled=yes
。有一些软件无法读取平铺图像,但是这些软件变得越来越稀少,而且大多在GIS之外(我不知道现在没有读取它们的主流GIS软件)。
以@alfonx 使用压缩概览的答案为基础:这样可以无损地存储基本图像,以确保数据完整性,而金字塔则可以有损存储,从而提高速度并节省空间。这几乎是两全其美。对于gdaladdo
RGB图像上的最小概图:使用jpeg压缩,平均或高斯重采样而不是默认的最近邻(使概图更平滑)和YCBCR光度概图。有关这些选项的更多信息,请参见gdaladdo参考页(尽管并没有太多关于光度学的内容)。
这是Windows批处理文件的一部分,我用于将外部jpeg概述应用于目录中的所有tiff:
set _opts= -r gauss --config PHOTOMETRIC_OVERVIEW YCBCR ^
--config COMPRESS_OVERVIEW JPEG --config JPEG_QUALITY_OVERVIEW 85
for %%a in (*.tif) do gdaladdo -ro %_opts% %%a 2 4 8 16 32 64
笔记
GDAL 1.6.0引入了gauss
重采样功能,average
在边缘锐利,对比度高或图案嘈杂的情况下,可以提供更好的结果。应该使用2的幂(2 4 8 ...),以便选择3x3重采样的高斯内核。
JPEG_QUALITY_OVERVIEW 85
-如果未指定,则使用默认值75%,这会产生较小的文件,但是我发现85%的尺寸与质量之间的权衡会更好。
2015年更新: GDAL 1.8和2.0引入了许多新的选项,这里没有介绍,我没有时间去消化。阅读官方的gtiff格式页面,我确定还有详细的有用设置。