gdalmdimtranslate

Added in version 3.1.

異なる形式間で多次元データを変換し, サブセットを実行します.

概要

gdalmdimtranslate [--help] [--help-general]
                  [-if <format>]... [-of <format>]
                  [-co <NAME>=<VALUE>]...
                  [-array <array_spec>]...
                  [-arrayoption <NAME>=<VALUE>]...
                  [-group <group_spec>]...
                  [-subset <subset_spec>]...
                  [-scaleaxes <scaleaxes_spec>]
                  [-oo <NAME>=<VALUE>]...
                  [-strict]
                   <src_filename> <dst_filename>

説明

gdalmdimtranslate プログラムは, 異なる形式間で多次元ラスターを変換し, 特定の配列やグループの選択的な変換, および/またはサブセット操作を実行できます.

以下のコマンドラインパラメータは任意の順序で現れることができます.

--help

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

--help-general

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

-if <format>

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

Added in version 3.2.

-of <format>

出力形式を選択します. これは多次元出力をサポートする形式 (NetCDF: Network Common Data Form, Multidimensional VRT) であるか, 他の指定された変換操作の結果が 1 つの 2D 配列のみの場合は "クラシック" 2D 形式であるかのいずれかです. このオプションが指定されていない場合, 可能な場合は出力ファイル名の拡張子から形式が推測されます.

-co <NAME>=<VALUE>

多くの形式には, 作成されるファイルについての詳細を制御するために使用できる 1 つ以上の オプションがあります.

利用可能な作成オプションはフォーマットドライバによって異なり, 一部のシンプルな形式には 全く作成オプションがありません. フォーマットでサポートされているオプションのリストは --formats コマンドラインオプションでリストアップできますが, フォーマットのドキュメントがドライバ作成オプションに関する情報の決定的なソースです. 各フォーマットの法的な作成オプションについては, ラスタードライバー フォーマット固有のドキュメントを参照してください.

配列レベルの作成オプションは ARRAY: で接頭辞を付けて渡すことができます. このようなオプションに関する詳細については, GDALGroup::CopyFrom() を参照してください.

-array <array_spec>

データセット全体を変換する代わりに, 1 つの配列を選択し, おそらくそれに操作を行います. このオプションは異なる配列に対して操作を行うために複数回指定できます.

<array_spec> は単に配列名であるかもしれず, 完全修飾構文 (/group/subgroup/array_name) を使用するかもしれません. または, 次の構文を使用してオプションの組み合わせにすることができます: name={src_array_name}[,dstname={dst_array_name}][,resample=yes][,transpose=[{axis1},{axis2},...][,view={view_expr}]

以下のオプションはその順序で処理されます:

次元にスライスまたはサブセットを実行する view_expr を指定すると, 対応するインデックス変数に等価な操作が適用されます.

-arrayoption <NAME>=<VALUE>

Added in version 3.9.

報告される配列をフィルタリングするために GDALGroup::GetMDArrayNames() に渡されるオプション. このようなオプションはフォーマット固有です. ドライバのドキュメントを参照してください. このオプションは複数回使用できます.

-group <group_spec>

データセット全体を変換する代わりに, 1 つのグループを選択し, おそらくそれに操作を行います. このオプションは異なるグループに対して操作を行うために複数回指定できます. 1 つのグループのみが指定された場合, その内容はターゲットルートグループに直接コピーされます. 複数の場合は, ターゲットルートグループの下にコピーされます

<group_spec> は単にグループ名であるかもしれず, 完全修飾構文 (/group/subgroup/subsubgroup_name) を使用するかもしれません. または, 次の構文を使用してオプションの組み合わせにすることができます: name={src_group_name}[,dstname={dst_group_name}][,recursive=no]

-subset <subset_spec>

次元に沿ったサブセット (トリミングまたはスライス) 操作を実行します. これは, 数値または文字列データ型の 1D 変数でインデックス付けされ, その値が単調にソートされている場合に提供されます. <subset_spec> は, サブセットのための OGC WCS 2.0 KVP エンコーディング に厳密に従います.

これは dim_name(min_val,max_val) または dim_name(sliced_val) です. 最初の構文は, 次元 dim_name を [min_val,max_val] の範囲の値にサブセットします. 2 番目の構文は, 次元 dim_name を値 sliced_val にスライスします (およびこれに参照する配列からこの次元が削除されます)

-subset を使用すると, -array で view オプションを指定することはできません.

-scaleaxes <scaleaxes_spec>

1 つまたは複数の次元に整数スケールファクタを適用し, N 値ごとに 1 つの値を抽出します (リサンプリングなし).

<scaleaxes_spec> は, OGC WCS 2.0 Scaling Extension の SCALEAXES パラメータの KVP エンコーディング の構文に厳密に従いますが, 整数スケールファクタに制限されています.

つまり <dim1_name>(<scale_factor>)[,<dim2_name>(<scale_factor>)]...

-scaleaxes を使用すると, -array で view オプションを指定することはできません.

-strict

デフォルトでは, 変換中のいくつかの失敗 (グループ属性の書き込みができないなど) が許容されます. このオプションを設定すると, そのような失敗がプロセスの失敗を引き起こします.

-oo <NAME>=<VALUE>

Added in version 3.4.

ソースデータセットオープンオプション (フォーマット固有)

<src_dataset>

ソースデータセット名.

<dst_dataset>

宛先ファイル名.

C API

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

  • netCDF ファイルを多次元 VRT ファイルに変換します

$ gdalmdimtranslate in.nc out.vrt
  • time,Y,X 配列の 2D スライスを抽出します

$ gdalmdimtranslate in.nc out.tif -subset 'time("2010-01-01")' -array temperature
  • X 軸と Y 軸に沿ってサブサンプリングします

$ gdalmdimtranslate in.nc out.nc -scaleaxes "X(2),Y(2)"
  • Y 軸を上から下に並べ替えて下から上に並べ替える (またはその逆) time,Y,X 配列の値を並べ替えます

$ gdalmdimtranslate in.nc out.nc -array "name=temperature,view=[:,::-1,:]"
  • X,Y,time 次元順序を time,Y,X に変換する配列を転置します

$ gdalmdimtranslate in.nc out.nc -array "name=temperature,transpose=[2,1,0]"