使用GDAL建立影像金字塔


Gdal 支持两种格式的金字塔,一种是兼容 arcgis 与 erdas 的 rrd 格式,一种是 gdal 自己的格式,其内部是用的 tiff 来实现。
同时其提供了 gdaladdo 工具,该工具可以用于为大多数支持的格式建立或者重建 ( 内 ) 金字塔,可以使用几种重采样算法来进行缩小重采样操作。
用法:

gdaladdo [-r {nearest,average,gauss,cubic,average_mp,average_magphase,mode}]

[-ro] [-clean] [--help-general] filename levels

命令参数
  • -r {nearest, average,average_mp, average_magphase,mode}选择重采样算法。
    • nearest最临近法
    • average平均值法
    • average_mp
    • average_megphase在一个magphase 空间中平均联合数据
    • mode不是一个确切的实现
  • -ro:
GDAL 1.6.0 以后版本有效,以只读模式打开源文件,也就是创建外金字塔文件( 特别是GeoTIFF 格式).
  • -clean:
移除金字塔效果,GDAL 1.7 以后版本有效
  • filename
要建立金字塔的文件名。
  • levels:
要建立略缩图的层号的列表。选择一个缩放水平如2 表示略缩图缩放程度是源图像每个维上分辨率的1/2 。如果文件在所选缩放水平上已经存在略缩图,那么那个缩放程度将被重新计算并覆盖写入。


其他说明
一些格式根本不支持金字塔。许多格式在文件以外以扩展名.ovr 存储金字塔,TIFF 就是如此。GeoTIFF 格式直接把金字塔存储到原有的文件 中。 在TIFF 中创建金字塔可以通过用COMPRESS_OVERVIEW 配置参数进行压缩。所有GeoTIFF 支持的压缩方法,可以在这里获得(如: --config COMPRESS_OVERVIEW DEFLATE )。 大多数驱动也支持一个备用的略缩图格式(使用的是Erdas 图像格式)。引发这个备用格式使用 USE_RRD=YES来设置参数。这样做会把GDAL 程序创建的金字塔放到一个辅助的.aux 文件中使得可以该金字塔可以直接在Erdas 中使用或者也可以在ArcGIS 中使 用。
例子:
在所提供的TIFF 文件内部创建金字塔
gdaladdo -r average abc.tif 2 4 8 16
从一个ERDAS.IMG 文件中创建一个外部的压缩的金字塔文件。
gdaladdo --config COMPRESS_OVERVIEW DEFLATE erdas.img 2 4 8 16
为给定JPEG 文件创建一个Erdas Imagine格式金字塔
gdaladdo --config USE_RRD YES airphoto.jpg 3 9 27 81


可以通过 Config 参数来对其进行配置要创建的金字塔类型,在命令行中通过增加参数 –config USE_RRD YES来实现 rrd 格式金字塔的创建,配置该参数之后, gdal 会为影像生成一个后缀名为 aux 的金字塔文件,该格式与 ArcGIS 兼容。

在 GDAL 内部,对 Config 参数进行解析,然后通过调用 CPLSetConfigOption 函数来对其进行系统配置。如果我们要在代码中创建金字塔,可以通过直接调用 CPLSetConfigOption 函数来配置系统参数:
【使用GDAL建立影像金字塔】CPLSetConfigOption(“USE_RRD”,”YES”);

    推荐阅读