はじめに
解像度の高い GeoTiff ファイルを QGIS などの GIS ツールで扱うとき、ピラミッド画像を作っておくことで、画像を読み込んだレイヤーの拡大・縮小を行ったときの画面表示が高速になり、ツールの操作性を向上させることができる。
ピラミッド画像
ピラミッド画像のイメージはこんな感じ。
ピラミッドの底辺にあたる元の画像に対し、ピラミッドの間を切り取ることで現れる断面を縮小画像としてを記録。
これらを元ファイルに埋め込んでおくことで、ピラミッド画像に対応するツールが自動的に画像を認識。ラスタレイヤの拡大・縮小時に元画像でなく、縮小されたピラミッド画像を使って描画を行うようになる。
gdaladdo
ピラミッド画像の作り方は色々あるけど、ここでは gdal で提供されるツール gdaladdo
を使ってみる。
ピラミッド画像の追加
$ gdaladdo -r average el_pyramid.tif 2 4 8 16 32 64
この場合、el_pyramid.tif
ファイルの元画像に対し、1/2, 1/4, 1/8, 1/16, 1/32, 1/64 の大きさの画像を作成し、el_pyramid.tif
ファイルに画像を埋め込む。
-r オプションは、画像の縮小時に用いられるアルゴリズムの指定。
ピラミッド画像を追加するため、元の GeoTiff ファイルと比べると、若干サイズが大きくなる。
ピラミッド画像の削除
$ gdaladdo -clean el_pyramid.tif
-clean オプションを指定して gdaladdo を実行することで、追加したピラミッド画像を削除することもできる。(ただしピラミッド画像の分ファイルサイズが減ることはない)