gdal_translate

ラスター データーを異なる形式間で変換します

概要

gdal_translate [--help] [--help-general] [--long-usage]
   [-ot {Byte/Int8/Int16/UInt16/UInt32/Int32/UInt64/Int64/Float32/Float64/
         CInt16/CInt32/CFloat32/CFloat64}] [-strict]
   [-if <format>]... [-of <format>]
   [-b <band>] [-mask <band>] [-expand {gray|rgb|rgba}]
   [-outsize <xsize>[%]|0 <ysize>[%]|0] [-tr <xres> <yres>]
   [-ovr <level>|AUTO|AUTO-<n>|NONE]
   [-r {nearest,bilinear,cubic,cubicspline,lanczos,average,mode}]
   [-unscale] [-scale[_bn] [<src_min> <src_max> [<dst_min> <dst_max>]]]... [-exponent[_bn] <exp_val>]...
   [-srcwin <xoff> <yoff> <xsize> <ysize>] [-epo] [-eco]
   [-projwin <ulx> <uly> <lrx> <lry>] [-projwin_srs <srs_def>]
   [-a_srs <srs_def>] [-a_coord_epoch <epoch>]
   [-a_ullr <ulx> <uly> <lrx> <lry>] [-a_nodata <value>]
   [-a_gt <gt0> <gt1> <gt2> <gt3> <gt4> <gt5>]
   [-a_scale <value>] [-a_offset <value>]
   [-nogcp] [-gcp <pixel> <line> <easting> <northing> [<elevation>]]...
   |-colorinterp{_bn} {red|green|blue|alpha|gray|undefined}]
   |-colorinterp {red|green|blue|alpha|gray|undefined},...]
   [-mo <META-TAG>=<VALUE>]... [-dmo "DOMAIN:META-TAG=VALUE"]... [-q] [-sds]
   [-co <NAME>=<VALUE>]... [-stats] [-norat] [-noxmp]
   [-oo <NAME>=<VALUE>]...
   <src_dataset> <dst_dataset>

説明

ユーティリティを使用して、ラスター データを異なる形式間で変換できます。この過程でサブセット化、再サンプリング、およびピクセルのリスケールなどの操作を行うことができます。

--help

このヘルプ メッセージを表示して終了します

--help-general

一般的なGDALコマンドラインオプションの簡単な使用メッセージを表示して終了します。

-ot <type>

出力画像バンドをドライバーでサポートされている特定のデータ型に強制します。次のいずれかになる場合があります: Byte, Int8, UInt16, Int16, UInt32, Int32, UInt64, Int64, Float32, Float64, CInt16, CInt32, CFloat32 または CFloat64

-strict

出力形式に変換する際に、不一致やデータの損失がある場合には許可されません。

-if <format>

入力ファイルを開くために試みるフォーマット/ドライバー名。通常は指定する必要はありませんが、適切なドライバーを選択できない場合に、自動ドライバー検出をスキップするために使用できます。このオプションは複数回繰り返して、いくつかの候補ドライバーを指定することができます。これらのドライバーがデータセットを開くことを強制するものではないことに注意してください。特に、いくつかのドライバーにはファイル拡張子に関する要件があります。

Added in version 3.2.

-of <format>

出力形式を選択します。GDAL 2.3以降、指定されていない場合、形式は拡張子から推測されます(以前はGTiffでした)。短縮形式名を使って下さい。

-b <band>

出力用の入力バンド band を選択します。バンドの番号は1から始まります。複数の -b スイッチを使用して、出力ファイルに書き込む入力バンドのセットを選択するか、バンドを並べ替えることができます。 band は、入力データセットの最初のバンドのマスクバンドを意味するように"mask,1"(または単に "mask")に設定することもできます。

-mask <band>

出力データセットのマスクバンドを作成するために、入力バンド band を選択します。バンドの番号は1から始まります。 band は、入力データセットのグローバルマスクが存在する場合、そのコピーを避けるために "none" に設定できます。そうでない場合、デフォルト ("auto") でコピーされます、マスクがアルファチャネルでない限り、または明らかに出力データセットの通常のバンドとして使用される場合は ("-b mask") になります。 band は、入力データセットの1番目のバンドのマスクバンドを意味するように "mask,1" (または単に "mask") に設定することもできます。

-expand gray|rgb|rgba

1つのバンドにカラーテーブルがあるデータセットを、3(RGB)または4(RGBA)のバンドを持つデータセットとして公開します。カラーテーブルをサポートしないJPEG、JPEG2000、MrSID、ECWなどの出力ドライバーに役立ちます。'gray' 値を使用すると、灰色レベルのみを含むカラーテーブルを持つデータセットを灰色インデックス付きデータセットに拡張できます。

-outsize <xsize>[%]|0 <ysize>[%]|0

出力ファイルのサイズを設定します。アウトサイズはピクセルとラインで指定されますが、'%'が付いている場合は入力画像サイズの割合になります。2つの値のうち1つが0に設定されている場合、その値はもう他方の値から決定され、ソースデータセットのアスペクト比が維持されます。

-tr <xres> <yres>

ターゲット解像度を設定します。値は地理参照単位で表現される必要があります。両方とも正の値でなければなりません。これは、 -outsize, -a_ullr, and -a_gt と相互に排他なので、両立はできないです。

-ovr {<level>|AUTO|AUTO-<n>|NONE}

Added in version 3.6.

ソースファイルのどの概要表示レベルを使用するかを指定します。デフォルトの選択はAUTOで、ターゲット解像度に最も近い解像度の概要表示レベルが選択されます。特定のレベルを選択するには整数値(0ベース、すなわち0=1番目の概要表示レベル)を指定します。 AUTO-n を指定すると、n は1以上の整数であり、AUTOの1つ下の概要表示レベルを選択します。または、NONEを指定してベース解像度を強制的に使用させます(低品質の再サンプリング方法で概要表示が生成された場合に役立ちます。この場合、より高品質の再サンプリング方法を -r で指定します。

When -ovr is specified to an integer value, and none of -outsize and -tr is specified, the size of the overview will be used as the output size.

When -ovr is specified, values of -srcwin, when specified, should be expressed as pixel offset and size of the full resolution source dataset. Similarly when using -outsize with percentage values, they refer to the size of the full resolution source dataset.

-r {nearest|bilinear|cubic|cubicspline|lanczos|average|rms|mode}

再サンプリング アルゴリズムを選択します。

nearest (default) applies a nearest neighbour (simple sampling) resampler

average は、すべての非NODATAで構成されたピクセルの平均を計算します。GDAL 3.1以降、これは、ターゲットピクセルとして適用しないソースピクセルの重みを適切に考慮した加重平均です。

rms は、すべての非NODATA適用ピクセルの二乗平均平方根/二乗平均を計算します(GDAL >= 3.3)

bilinear` は、バイリニア畳み込みカーネルを適用します。

cubic は、三次畳み込みカーネルを適用します。

cubicspline は、Bスプライン畳み込みカーネルを適用します。

lanczos は、ランツォスウィンドウシンク畳み込みカーネルを適用します。

mode は、サンプリングされたすべてのポイントの中で最も頻繁に現れる値を選択します。

-scale [<src_min> <src_max> [<dst_min> <dst_max>]]

入力ピクセル値を、範囲 src_min から src_max から、範囲 dst_min から dst_max にリスケールします。省略された場合、出力範囲は0から255です。省略された場合、入力範囲はソースデータセット全体から自動的に計算されます( -srcwin または -projwin で指定された可能性のあるウィンドウだけではありません)。これは大規模なソースデータセットでは遅い操作になる可能性があり、複数回使用する場合、複数の gdal_translate 呼び出しに対して、事前に gdalinfo -stats {source_dataset} を呼び出して統計を事前計算することが有益な場合があります(統計計算のシリアル化をサポートする形式では(GeoTIFF、VRT...))。 -scale の後に指定された値は、入力ラスター値に適用するスケールとオフセットを計算するためだけに使用されることに注意してください。特に、src_min および src_max は入力値をクリップするために使用されません。 -scale は複数回繰り返すことができ(1回だけ指定された場合、出力データセットのすべてのバンドに適用されます)、バンドごとのパラメータを指定します。 "-scale_bn" 構文を使用して、特定のバンドのパラメータを指定することも可能です(例:出力データセットの2番目のバンドの場合、"-scale_2" )。

-exponent <exp_val>

べき関数による非線形スケーリングを適用します。exp_valはべき関数の指数です(正でなければなりません)。このオプションは、 -scale オプションと一緒に使用する必要があります。1回だけ指定された場合、-exponent は出力画像のすべてのバンドに適用されます。複数回繰り返して、バンドごとのパラメータを指定することができます。 "-exponent_bn" 構文を使用して、特定のバンドのパラメータを指定することも可能です(例:出力データセットの2番目のバンドの場合、"-exponent_2" )。

-unscale

バンドのスケール/オフセット メタデータを適用して、スケーリングされた値を非スケーリング値に変換します。出力データ型を -ot スイッチでリセットすることもよく必要です。非スケーリング値は、次の式でスケーリングされた生値から計算されます。

\[{unscaled\_value} = {scaled\_value} * {scale} + {offset}\]
-srcwin <xoff> <yoff> <xsize> <ysize>

ピクセル/ラインの位置に基づいて、ソース画像からコピーするサブウィンドウを選択して下さい。

-projwin <ulx> <uly> <lrx> <lry>

ソース画像からコピーするサブウィンドウを選択します( -srcwin のように)。ただし、コーナーは地理参照座標で指定されます(デフォルトではデータセットのSRSで表現されます。-projwin_srs で変更できます)。

注釈

GDAL 2.1.0および2.1.1では、ピクセルと一致しない座標で -projwin を使用すると、サブピクセルシフトが発生します。これは後のバージョンで修正されています。最近傍以外の再サンプリングを選択する場合、GDAL 2.1.0以降、サブピクセル精度が使用され、より良い結果が得られます。

-projwin_srs <srs_def>

Specifies the SRS in which to interpret the coordinates given with -projwin. The <srs_def> may be any of the usual GDAL/OGR forms, complete WKT, PROJ.4, EPSG:n or a file containing the WKT.

警告

この処理でデータセットに指定されたSRSに再投影することはありません。

-epo

(部分的に外れている場合のエラー)このオプションが設定されている場合、 -srcwin または -projwin の値がソースラスター範囲の一部外にある場合はエラーと見なされます。デフォルトの動作は、そのような要求を受け入れることであり、以前はエラーと見なされていました。

-eco

(完全に外れている場合のエラー) -epo と同じですが、エラーになる基準は、要求がソースラスター範囲の完全に外にある場合です。

-a_srs <srs_def>

出力ファイルの投影をオーバーライドします。 -a_ullr または -a_gt と一緒に使用して、この投影の範囲を指定できます。

渡すことができる座標参照系は、 OGRSpatialReference::SetFromUserInput() 呼び出しによってサポートされるものであれば何でもかまいません。これには、EPSG Projected、GeographicまたはCompound CRS(例:EPSG:4296)、よく知られているテキスト(WKT)CRS定義、PROJ.4宣言、またはWKT CRS定義を含む.prjファイルの名前が含まれます。

注釈

再投影は行われません。

-a_coord_epoch <epoch>

Added in version 3.4.

出力SRSにリンクされた座標エポックを割り当てます。出力SRSが動的CRSである場合に役立ちます。

-a_scale <value>

バンドスケーリング値を設定します。ピクセル値の変更は行われません。 -unscale-a_scale を考慮しないことに注意してください。例えば、-scale 0 1 <offset> <offset+scale> を指定して(オフセット、スケール)のタプルを適用し、次の2ステップに相当します: gdal_translate input.tif tmp.vrt -a_scale scale -a_offset offset の後に gdal_translate tmp.vrt output.tif -unscale を実行します。

Added in version 2.3.

-a_offset <value>

バンドオフセット値を設定します。ピクセル値の変更は行われません。-unscale-a_offset を考慮しないことに注意してください。例えば、-scale 0 1 <offset> <offset+scale> を指定して(オフセット、スケール)のタプルを適用し、次の2ステップに相当します: gdal_translate input.tif tmp.vrt -a_scale scale -a_offset offset の後に gdal_translate tmp.vrt output.tif -unscale を実行します。

Added in version 2.3.

-a_ullr <ulx> <uly> <lrx> <lry>

出力ファイルの地理参照境界を割り当て/オーバーライドします。これにより、ソースファイルから派生するはずのものを無視して、出力ファイルに地理参照境界が割り当てられます。したがって、指定されたSRSへの再投影は発生しません。これは -a_gt と相互排他です。

-a_gt <gt(0)> <gt(1)> <gt(2)> <gt(3)> <gt(4)> <gt(5)>

出力ファイルのジオトランスフォームを割り当て/オーバーライドします。これにより、ソースファイルから派生するはずのものを無視して、出力ファイルにジオトランスフォームが割り当てられます。したがって、指定されたSRSへの再投影は発生しません。Geotransform Tutorial を参照してください。これは -a_ullr と相互排他です。

Added in version 3.8.

-a_nodata <value>

指定されたnodata値を出力バンドに割り当てます。ソースファイルに存在する場合、出力ファイルにnodata値を設定しないようにするには、none に設定できます。入力データセットにnodata値がある場合、これにより、そのnodata値に等しいピクセル値がこのオプションで指定された値に変更されることはないことに注意してください。

-colorinterp_X <red|green|blue|alpha|gray|undefined>

バンドX(Xは1から始まる有効なバンド番号)のカラー解釈をオーバーライドします。

Added in version 2.3.

-colorinterp {red|green|blue|alpha|gray|undefined},...

すべての指定されたバンドのカラー解釈をオーバーライドします。たとえば、4バンド出力データセットの場合は-colorinterp red,green,blue,alphaです。

Added in version 2.3.

-mo <META-TAG>=<VALUE>

可能であれば、出力データセットに設定するメタデータキーと値を渡します。

-dmo DOMAIN:META-TAG=VALUE

可能であれば、指定されたドメインのメタデータキーと値を出力データセットに設定するために渡します。

Added in version 3.9.

-co <NAME>=<VALUE>

多くの形式には、作成されるファイルの詳細を制御するために使用できる1つ以上のオプション作成オプションがあります。たとえば、GeoTIFFドライバは圧縮を制御する作成オプション、およびファイルをタイル化するかどうかをサポートします。

利用可能な作成オプションは、形式ドライバによって異なり、一部の単純な形式には作成オプションがまったくありません。形式ごとにサポートされるオプションのリストは、--formats コマンドラインオプションでリストできますが、形式のドキュメントはドライバ作成オプションに関する情報の最終的なソースです。形式ごとの法的な作成オプションについては、ラスタードライバー 形式固有のドキュメントを参照してください。

ドライバ固有の作成オプションに加えて、gdal_translate(および GDALTranslate() および GDALCreateCopy() )は次のオプションを認識します:

  • APPEND_SUBDATASET=[YES/NO]: Defaults to NO.

    複数のサブデータセットの追加をサポートするドライバ(例:GTIFF、NITF)について、既存のデータセットの事前破壊を回避するためにYESに指定できます

  • COPY_SRC_MDD=[AUTO/YES/NO]: (GDAL >= 3.8) Defaults to AUTO.

    ソースデータセットのメタデータドメインを宛先データセットにコピーするかどうかを定義します。デフォルトのAUTOモードでは、"safe" ドメインのみがコピーされます。これには、デフォルトのメタデータドメインが含まれます(一部のドライバにはIMD、RPC、GEOLOCATIONなどの他のドメインが含まれる場合があります)。YESに設定すると、すべてのドメインがコピーされます(ただし、IMAGE_STRUCTUREやDERIVED_SUBDATASETSなどのいくつかの予約されたものを除く)。現在、GTiff、COG、VRT、PNG、およびJPEGドライバでのみ認識されます。

    NOに設定すると、ソースメタデータはコピーされません。

  • SRC_MDD=<domain_name>: (GDAL >= 3.8)

    どのソースメタデータドメインをコピーするかを定義します。このオプションは、コピーされるソースメタデータドメインのリストを制限します(設定されていない場合、COPY_SRC_MDD=YESを意味します)。このオプションは、ソースドメインの数だけ指定できます。デフォルトのメタデータドメインは空の文字列 "" ("_DEFAULT_") であり、空の文字列が実用的でない場合にも使用できます。現在、GTiff、COG、VRT、PNG、およびJPEGドライバでのみ認識されます。

-nogcp

ソースデータセットのGCPを出力データセットにコピーしないでください。

-gcp <pixel> <line> <easting> <northing> [<elevation>]

指定されたグランドコントロールポイントを出力データセットに追加します。このオプションは、複数回提供されることがあり、一連のGCPを提供します。

-q

進行状況モニターおよびその他のエラーでない出力を抑制します。

-sds

このファイルのすべてのサブデータセットを個別の出力ファイルにコピーします。サブデータセットを持つHDFのような形式と一緒に使用します。

-stats

統計の(再)計算を強制実行します。

-norat

ソースRATを宛先データセットにコピーしないでください。

-noxmp

ドライバがコピーできる場合、ソースデータセットのXMPメタデータを出力データセットにコピーしないでください。

Added in version 3.2.

-oo <NAME>=<VALUE>

データセットオープンオプション(形式固有)

<src_dataset>

ソースデータセットの名前です。それはファイル名、データソースのURL、またはマルチデータセットファイルのサブデータセット名のいずれかである可能性があります。

<dst_dataset>

宛先ファイル名

再サンプリング中のNodata/ソース有効マスク処理

ソースバンド、マスクバンド、アルファバンドに設定されたnodata値メタデータを通じて識別されたマスクされた値は、再サンプリング中には使用されません(-outsize または -tr を使用する場合)。

それがどのように考慮されるかの詳細は、再サンプリングカーネルによって異なります:

  • 最近傍の再サンプリングの場合、各ターゲットピクセルに対して、寄与する可能性のあるソースピクセルの1つが選択されます(実装固有の方法)。その値は有効であろうと無効であろうとそのまま使用されます。

  • バイリニア、三次、キュービックスプライン、およびランチョスの場合、各ターゲットピクセルに対して、寄与するソースピクセルの重みがゼロに設定され、マスクされたときにそれらを無視します。三次には追加の特異性があります:カーネル内の重みの一部が負であることを考慮すると、そのような戦略は、有効なピクセルと無効なピクセルの交互がある場合に強いオーバーシュート/アンダーシュートにつながる可能性があります。したがって、水平方向または垂直方向のいずれかで、各次元の有効なソースピクセルの最大数が再サンプリングカーネルの半径よりも少ない場合、ターゲットピクセルはnodataと見なされます。

  • 他の再サンプリング方法の場合、ターゲットピクセルに寄与するソースピクセルがマスクされている場合は無視されます。有効なものだけが考慮されます。ない場合、ターゲットピクセルはnodataと見なされます。

C API

このユーティリティは、GDALTranslate() を使用してC言語からも呼び出すことができます。

Added in version 2.1.

gdal_translate -of GTiff -co "TILED=YES" utm.tif utm_tiled.tif

RGBAデータセットから内部マスクを含むJPEG圧縮TIFFを作成します

gdal_translate rgba.tif withmask.tif -b 1 -b 2 -b 3 -mask 4 -co COMPRESS=JPEG \
  -co PHOTOMETRIC=YCBCR --config GDAL_TIFF_INTERNAL_MASK YES

マスク付きRGBデータセットからRGBAデータセットを作成します

gdal_translate withmask.tif rgba.tif -b 1 -b 2 -b 3 -b mask

-projwin and -outsize を利用したサブ設定:

gdal_translate -projwin -20037500 10037500 0 0 -outsize 100 100 frmt_wms_googlemaps_tms.xml junk.png