GeoTIFF ファイル処理
【概要】
GeoTIFF ファイルの拡大(縦横の画素数を増やす)、GeoTIFF と PNG の相互変換、EPSG コードを用いた座標系の変換の手順を示す。
【目次】
キーワード: GeoTIFF ファイルの拡大, GeoTIFF から PNG へ変換, PNG から GeoTIFF へ変換, EPSG コードを用いた座標系の変換
前準備
GDAL Windows 版のインストール
GDAL の Windows 版をインストールしておくこと。conda-forge を用いる場合は「conda install -c conda-forge gdal」でインストールできる。
GeoTIFF サンプルデータファイルの準備
GeoTIFF について練習したい場合には、GeoTIFF サンプルデータファイルを入手する。例えば、次の Web ページから cea.tif をダウンロードする。
http://download.osgeo.org/geotiff/samples/gdal_eg/
ダウンロードした .tif ファイルを、分かりやすいディレクトリ(例えば d:\)に保存する。
GeoTIFF から PNG へ変換
- GeoTIFF ファイルの画素の値の範囲を調べる。
gdalinfo -mm cea.tif下の実行例では、画素の範囲は 0 から 255 だと分かる。
- PNG に変換する前に決めておくこと
PNG ファイルは 1 画素 8 ビットなので、0 から 255 の値をとる。
PNG に変換するとき、次のことを決めておく。
- ファイル名: ここでは cea.png に設定する。
- スケール: ここでは、GeoTIFF での 0 から 255 の値を、PNG での 0 から 255 の値に変換する。
- GeoTIFF から PNG への変換
PNG は 8 ビット(Byte 型)なので、出力のデータ型は Byte を指定する。
gdal_translate -scale 0 255 0 255 -ot Byte -of PNG cea.tif cea.png
結果は、画像ビューワで簡単に確認できる。
PNG から GeoTIFF へ変換
PNG ファイルは 1 画素 8 ビットなので、0 から 255 の値をとる。
GeoTIFF に変換するとき、次のことを決めておく。
- ファイル名: ここでは cea3.tif に設定する。
- スケール: ここでは、PNG での 0 から 255 の値を、GeoTIFF では 0 から 24700 に変換する。
- GeoTIFF の画素のデータ型: ここでは Int16 に設定する。
データ型については「gdal_translate --long-usage」で確認できる。
PNG から GeoTIFF への変換例
gdal_translate -scale 0 255 0 24700 -ot Int16 -of GTiff cea.png cea3.tif
結果は、画像ビューワで簡単に確認できる。
GeoTIFF ファイルの拡大
拡大率 200% にしたいときの操作手順例を示す。gdal_translate コマンドを用いる。
gdal_translate -outsize 200% 200% d:\cea.tif d:\cea2.tif
gdalinfo コマンドを用いて確認してみる。
GeoTIFF ファイルは、多くの場合、画像ビューワで簡単に表示できる。
拡大前
拡大後
EPSG コードを用いた座標系の変換
座標系を変換するには gdalwarp コマンドを用いる。変換元の EPSG コードを -s_srs、変換先の EPSG コードを -t_srs で指定する。
gdalwarp -s_srs EPSG:<変換元の EPSG コード> -t_srs EPSG:<変換先の EPSG コード> <入力ラスタファイル名> <出力ラスタファイル名>
【関連する外部ページ】 https://d.hatena.ne.jp/tmizu23/20091215/1260868350
【関連する外部ページ】 http://blog.godo-tys.jp/2012/11/21/999/