waigani's diary

QGISを中心にFOSS4Gをいじくる

1.QGIS 2.0のラスタリサンプリングが好きだ

ラスタレイヤを表示する際のリサンプリング方法を指定出来るのはご存知でしょうか?
QGISに読み込む前の画像を100%の解像度で表示した場合、このように表示されるとします。

これをQGISで表示した場合、スケールによって拡大・縮小・また投影法の違いで変換されて表示されます。
この時、表示される画像の各ピクセルの値(色)を、元画像から求める処理が入ります。それがリサンプリングです。一番簡単な処理は"最近傍"で、表示される画像の各ピクセルに対応する元画像のピクセルを1つ決めてその値を持って来ます。
下図向かって左の画像を50%に縮小した場合、1つ飛ばしのピクセルを持ってくる形になります。

ただコレだと画像が見難くなる場合があります、他のリサンプリング方法として縦横のピクセルも参照して加重平均から求める方法や、周囲のピクセルも参照して求める方法などが使用されます。他のリサンプリングで同じく50%縮小すると下図のようになります。例が悪いので見やすいかは微妙ですが。

さてQGISで実装されているリサンプリング方法を比べてみましょう。
ラスタレイヤを読み込み、レイヤのプロパティを表示→スタイルを選択します。一番下にリサンプリングの選択肢が出てきます。

拡大、縮小の際のリサンプリング方法を選択することが出来ます。実際に表示した結果が下記になります。キュービックは使った画像が悪いですね。

  • 拡大時
最近傍 バイリニア キュービック
  • 縮小時
最近傍 平均

QGISでラスタを表示した際に、元画像に比べて汚く表示されるなと思った際は、リサンプリング方法を変更してみましょう。