GDAL コマンド




衛星データの基本情報を閲覧する gdalinfo  


・座標系やピクセル数、ピクセルサイズ、フォーマット、バンド数、四隅の緯度経度などを調べるのに便利  

# gdalinfo [input file name]  

・ピクセルの最大値、最小値、平均値、標準偏差を知りたい場合は [-mm] オプションを使う  

# gdalinfo -mm [input file name]  

 

衛星データを切り出す gdal_translate  


・オプション [-projwin] を使って切り出したい四隅の緯度経度を指定する(緯度経度は10進数で入力する)  

# gdal_translate -projwin [west] [north] [east] [south]
                    [input file name] [output file name]
 

・データ型のデフォルトはByteなので、それ以外の場合は [-ot] オプションで指定する必要がある  

# gdal_translate -ot [type] -projwin [west] [north] ..... (以下同じ)  

 [type] にはInt16, UInt16, UInt32, Int32, Float32, Float64などが入る  

 
 
 

衛星データの特定の値をnodataにする gdal_translate  


・オプション [-a_nodata] を使う  

# gdal_translate -a_nodata [value] [input file name] [output file name]  

 
 

衛星データから特定のbandを抜き出す gdal_translate  


・オプション [-b] を使う  複数のbandからなる画像データ(tifファイル、imgファイルなど)が対象となる  

# gdal_translate -b [value] [input file name] [output file name]  

 
 

座標系の変換を行う(ラスターデータ) gdalwarp  


・オプション[-s_srs]と[-t_srs]を使って変換前(source)と変換後(target)の座標系を指定する
 ここではEPSGコードを指定して変換を行う  

# gdalwarp -s_srs EPSG:[source EPGS code] -t_srs EPSG:[target EPGS code]
                    [input file name] [output file name]
 

 よく使うEPSGコードを以下に挙げる

     世界測地系
測地系 楕円体 座標系 EPSGコード
wgs84 wgs84 緯度経度 4326
UTM 52 32652
UTM 53 32653
UTM 54 32654
JGD2000 GRS80 緯度経度 4612
UTM 52 3098
UTM 53 3099
UTM 54 3100

     日本測地系
測地系 楕円体 座標系 EPSGコード
Tokyo Datum Bessel 緯度経度 4301
 


 

座標系の変換を行う(ベクターデータ) ogr2ogr  


・オプション[-s_srs]と[-t_srs]を使って変換前(source)と変換後(target)の座標系を指定する
 ここではEPSGコードを指定して変換を行う  

# ogr2ogr -s_srs EPSG:[source EPGS code] -t_srs EPSG:[target EPGS code]
                    [output file name] [input file name]

 入力ファイル名と出力ファイル名の順が逆になっていることに注意
 


 

画像に座標を与えて幾何補正する gdal_translate− −gdalwarp  


・まず、gdal_translateのオプション[-gcp]を使って緯度経度情報を追加した中間ファイル(intermediate file)を作る  

# gdal_translate -gcp [column plxel] [row plxel] [longitude] [latitude]
                    [input file name] [intermediate file name]

 [columu pixel]は横軸のピクセル、[row pixel]は縦軸のピクセル、緯度経度は10進数で与える
 -gcpはいくつでも増やすことができ、多いほど幾何補正の精度が高くなる

・次に、中間ファイルを幾何変換する
 gdalwarpのオプション[-s_srs]を使って元データの座標系を与え、オプション[-r]を使って内挿法(resampling method)を指定する
 

# gdalwarp -s_srs EPSG:[source EPGS code] -r [resampling method]
                    [intermediate file name] [output file name]

 内挿法にはnear(最近傍法)やcubic(三次たたみ込み内挿法)などがある
 デフォルトはnearだが、精度が悪いのでcubicを使った方がよい

【使用例】
 縦のピクセル数が200、横のピクセル数が300, wgs84測地系、緯度経度座標系の画像ファイルtest.tifがあったとする
 この画像の四隅の緯度経度が北:35.0 南:40.0 東:141 西:138 だったとすると4点のGCPがとれるので
 

# gdal_translate -gcp 0 0 138 35 -gcp 300 0 141 35 -gcp 0 200 138 40
                    -gcp 300 200 141 40 test.tif intermediate.tif

 wgs84測地系、緯度経度座標系のEPSGコードは4326なので、内挿法をcubicにすると  

# gdalwarp -s_srs EPSG:4326 -r cubic intermediate.tif output.tif  


 

複数の衛星データを一つにまとめる gdal_merge.py  


・緯度経度が同じでバンド毎に複数のデータがある場合などに便利(Erdas ImagineのStacklayer関数と同じ)
 オプション [-separate] を使う  

# gdal_merge.py -separate -o [output file name] [input file name 1]
                    [input file name 2] [input file name 3] .....

 オプション [-o] の後に出力ファイル名を入力し、その後ろに重ねたいファイル名を複数入力する
 重ねるデータは座標系が同じでなければならない
   
・その他のオプションを組み合わせる事により、モザイク画像も作成できるようである

  以上



  [HOME]