gdal_merge
イメージセットをモザイクします.
概要
gdal_merge [--help] [--help-general]
[-o <out_filename>] [-of <out_format>] [-co <NAME>=<VALUE>]...
[-ps <pixelsize_x> <pixelsize_y>] [-tap] [-separate] [-q] [-v] [-pct]
[-ul_lr <ulx> <uly> <lrx> <lry>] [-init "<value>[ <value>]..."]
[-n <nodata_value>] [-a_nodata <output_nodata_value>]
[-ot <datatype>] [-createonly] <input_file> [<input_file>]...
説明
このユーティリティは,イメージセットを自動的にモザイクします.すべてのイメージは同じ座標系にあり,一致するバンド数を持っている必要がありますが,重なり合っていて異なる解像度であっても構いません.重なり合う領域では,最後のイメージが以前のものにコピーされます.ノーデータ/透過値はバンドごとに考慮されます.つまり,ソースバンドのノーデータ/透過ピクセルは,結果のラスターの対象ピクセルのすべてのバンドにノーデータ/透過値を設定するわけではありません.また,有効なピクセル値を上書きすることもありません.
注釈
gdal_merge は Python ユーティリティであり, GDAL Python バインディングが利用可能な場合のみ利用できます.
- --help
このヘルプメッセージを表示して終了します
- --help-general
一般的な GDAL コマンドラインオプションの使用方法を簡単に表示して終了します.
- -o <out_filename>
出力ファイルの名前です.存在しない場合は作成されます(デフォルトは "out.tif").
- -of <format>
出力フォーマットを選択します. GDAL 2.3 以降,指定されていない場合,フォーマットは拡張子から推測されます(以前は GTiff でした).短いフォーマット名を使用します.
- -co <NAME>=<VALUE>
多くのフォーマットには,作成されたファイルに関する特定の情報を制御するために使用できる 1 つ以上のオプションがあります.たとえば,GeoTIFF ドライバは,圧縮を制御する作成オプションやファイルをタイル化するかどうかを制御する作成オプションをサポートしています.
利用可能な作成オプションはフォーマットドライバによって異なり,一部のシンプルなフォーマットには作成オプションが全くありません.フォーマットでサポートされているオプションのリストは,コマンドラインオプション --formats でリストできますが,フォーマットのドキュメントがドライバ作成オプションに関する情報の決定的なソースです.
- -ot <type>
出力画像バンドをドライバでサポートされている特定のデータ型に強制します.これは次のいずれかである可能性があります:
Byte
,Int8
,UInt16
,Int16
,UInt32
,Int32
,UInt64
,Int64
,Float32
,Float64
,CInt16
,CInt32
,CFloat32
またはCFloat64
.
- -ps <pixelsize_x> <pixelsize_y>
出力ファイルに使用するピクセルサイズです.指定されていない場合,最初の入力ファイルの解像度が使用されます.
- -tap
(ターゲットアラインドピクセル)出力ファイルの範囲の座標を -tr の値に整列させることで,整列された範囲が最小範囲を含むようにします.整列とは,xmin / resx, ymin / resy, xmax / resx および ymax / resy が整数値であることを意味します.
- -ul_lr <ulx> <uly> <lrx> <lry>
出力ファイルの範囲です.指定されていない場合,すべての入力ファイルの集計範囲が使用されます.
- -q, -quiet
進行メッセージを抑制します.
- -v
モザイク操作が行われるときの操作の詳細な出力を生成します.
- -separate
各入力ファイルを別々のバンドに配置します.
- -pct
最初の入力イメージから疑似カラーテーブルを取得し,出力に使用します.この方法で疑似カラーイメージをマージすると,すべての入力ファイルが同じカラーテーブルを使用していると仮定されます.
- -n <nodata_value>
マージされるファイルからのピクセルをこのピクセル値で無視します.
- -a_nodata <output_nodata_value>
指定されたノーデータ値を出力バンドに割り当てます.
- -init <"value(s)">
これらの値で出力画像バンドを事前初期化します.ただし,出力ファイルではノーデータ値としてマークされていません.1 つの値のみが与えられた場合,すべてのバンドで同じ値が使用されます.
- -createonly
出力ファイルが作成され(おそらく事前初期化されます)が,入力イメージデータはコピーされません.
例
すべてのバンドのピクセルを 255 で初期化したイメージを作成します
gdal_merge -init 255 -o out.tif in1.tif in2.tif
ノーデータのピクセルに青を表示する RGB イメージを作成します
最初の 2 つのバンドは 0 で初期化され,3 番目のバンドは 255 で初期化されます.
gdal_merge -init "0 0 255" -o out.tif in1.tif in2.tif
gdal_merge に大量のファイルを渡します
大量のファイルを gdal_merge に渡すには,テキストファイルにリストして次のようにします:
ls -1 *.tif > tiff_list.txt
Linux では,または
dir /b /s *.tif > tiff_list.txt
Windows では.テキストファイルは --optfile を使用して gdal_merge に渡すことができます:
gdal_merge -o mosaic.tif --optfile tiff_list.txt
3 つの異なるグレースケールバンドをマージして RGB イメージを作成します
-separate
フラグを使用して "スタックによるマージ" を実行します.同じ領域をカバーする 3 つのグレースケールファイルがある場合,次のように実行できます:
gdal_merge -separate 1.tif 2.tif 3.tif -o rgb.tif
これにより, 1.tif
が赤に, 2.tif
が緑に, 3.tif
が青にマッピングされます.
重なり合う優先順位を指定します
入力行の最後のイメージが完成したイメージスタックの上に出てきます.また,既にノーデータとして定義されていない場合,宛先イメージにコピーされるべきでない値を指定するために -n
を使用する必要があります.
gdal_merge -o merge.tif -n 0 image1.tif image2.tif image3.tif image4.tif