GDAL のコマンドで GeoTIFF ファイルを扱う

概要

GDAL のコマンドで GeoTIFF ファイルを扱う方法を説明する.情報の取得,投影座標系への変換,png との相互変換,拡大(縦横の画素数を増やす)を行う.

その他情報

キーワード: gdalinfo, gdalwarp, gdal_translate, 投影座標系への投影, GeoTIFF ファイルの拡大, GeoTIFF から png へ変換, png から GeoTIFF へ変換, EPSG コード

目次

関連する外部ページ

前準備

gdal Windows 版のインストール

OSGeo4W のインストールを行っておくこと

あわせて,環境変数 GDAL_DATA を「C:\OSGeo4W\share\gdal」に設定しておくこと.

GeoTIFF サンプルデータファイルの準備

GeoTIFF について練習したい場合には, GeoTIFF サンプルデータファイルを入手する. 例えば,次の Web ページから cea.tif をダウンロード

https://download.osgeo.org/geotiff/samples/gdal_eg/

ダウンロードした .tif ファイルを,分かりやすいディレクトリ(例えばd:\)に保存

GeoTIFF 情報の取得

gdalinfo コマンドを使用. サイズ,緯度経度,バンド数,データ型などが確認できる.

gdalinfo cea.tif

あるGeoTIFF画像での実行結果例

別のGeoTIFF画像での実行結果例

投影座標系への投影

gdalwarp コマンドを使用.変換先の座標系は,EPSG コードで指定する.EPSG コードは https://epsg.io/ で検索できる.

* 測地系が JGD2011 のときの EPSG コードは次の通りである.

GeoTIFF から png へ変換

  1. GeoTIFFファイルの画素の値の範囲を調べる
    gdalinfo -mm cea.tif
    

    下の実行例では,画素の範囲は 0 から 255だと分かる

  2. png に変換する前に決めておくこと

    GDAL の PNG ドライバは,データ型が Byte のとき 1 画素 8 ビット(0 から 255の値),UInt16 のとき 1 画素 16 ビット(0 から 65535 の値)で書き出す.

    GeoTiff から png に変換するとき,次のことを決めておく

    • ファイル名: ここでは cea.pngに設定
    • スケール: ここでは,GeoTIffでは 0 から 255の値を,png での0 から 255の値に変換するとする.
    • png の画素のデータ型: ここでは Byteに設定
  3. GeoTIFF から png への変換
    gdal_translate -scale 0 255 0 255 -ot Byte -of PNG cea.tif cea.png
    

    結果は,画像ビューワで表示して確認できる.

16 ビットの png に変換する手順は「GeoTIFF ファイルを 16 ビットpng ファイルに変換」のページに記述している.

png から GeoTIFF へ変換

8 ビットの png ファイルの画素は,0 から 255の値である.

GeoTiff に変換するとき,次のことを決めておく

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 コードを用いた座標系の変換

変換元のファイルに座標系の情報が含まれていないときは,-s_srs で変換元の座標系も指定する.

gdalwarp -s_srs EPSG:<EPSGコード> -t_srs EPSG:<EPSGコード> <変換元ラスタファイル名> <変換先ラスタファイル名>
* GDAL 3.11 以降では,gdal コマンドにまとめられた新しいインタフェース(gdal raster info, gdal raster convert, gdal raster reproject など)も使用できる.gdalinfo, gdal_translate, gdalwarp も引き続き使用できる.