grdreformat − 異なるグリッドファイルのフォーマット間の変換をする |
grdreformat ingrdfile[=id[/scale/offset[/NaNvalue]]] outgrdfile[=id[/scale/offset[/NaNvalue]]] [ −N ] [ −Rwest/east/south/north[r] ] [ −f[i|o]colinfo ] [ −V ] |
grdreformat はあるフォーマットのグリッドファイルを読んで別のフォーマッ トで出力する。オプションとしてユーザは出力されるデータの部分セットを 選 択し、スケーリング、変換、 NaN 値の指定をすることができる。 |
ingrdfile |
読 み込まれるグリッドファイル。標準の COARDS 規格の
netCDF グリ ッドファイルでないときはフォーマット =id
番号を付けること。 =id
を設定するときは(下を参照)、随意で scale 及び
offset を付けるこ
とができる。これらのオプションはデータを読み込んだ後で指定さ
れ た量のスケーリングをしてからオフセットを行う。 |
outgrdfile |
書き出されるグリッドファイル。標準の COARDS 規格の netCDF
グ リ ッドファイルでないときはフォーマット =id
番号を付けること。 =id
を設定するときは(下を参照)、随意で scale 及び
offset を付けるこ と
ができる。これらのオプションはデータを整数で記憶するときは特
に実用的であり、始めにオフセットを取り除いてから値のスケール
を 元
に戻す。読み込むときとは逆の順序でスケールとオフセットが与え
られるので、
(丸めを除き)データの値に影響を及ぼすことは無い。 |
−N |
GMT のヘッダ構造を書き出さないようにする。これは grdraster で使うためのネイティブのグリッドを書き出すときに有用である。 こ れ はネイティブのグリッドだけに適用され netCDF 出力については無 視される。 |
||
−R |
xmin, xmax, ymin, ymax は対象とする領域を指定する。地理的領 域 に対しては、これらの境界は西、東、南、北に対応し、小数値を含 む度又は [+-]dd:mm[:ss.xxx][W|E|S|N] のフォーマットで指定できる 。東西南北の代わりに地図座標の左下と右上を使うときは r を付ける こと。 2 つの略号 −Rg −Rd は全球領域(それぞれ経度 0/360 又 は -180/+180 と緯度 -90/+90 )を表す。暦時間座標系に対しては相対時 間(選択された TIME_EPOCH に対して相対的で、選択された TIME_UNIT を単位とする。 t を −JX|x に付けること)又は [date]T[clock] 形式 の絶対時刻(T を −JX|x に付けること)のどちらかを与えることができ る。少なくとも date と clock のどちらかが存在していなければなら ない。 T は常に必要である。 date の文字列は [-]yyyy[-mm[-dd]] ( グレゴリオ暦)又は yyyy[-Www[-d]] (ISO 週暦)の形式でなければなら ない。 clock の文字列は hh:mm:ss[.xxx] の形式でなければならない 。 区切り文字を利用する場合にはその型と位置が指定どおりでなけれ ばならない(ただし入出力と描画フォーマットは変更可能である)。 |
||
−f |
入出力列の特殊フォーマットを使う(時間又は地 理 デ ー タ) 。 i(nput) 又は o(utput) を指定すること [デフォルトでは入力と出力 の両方]。コンマ区切りで 1 列以上(又は列の範囲)を与えること。 各 列 又 は 列 の範囲の項目に対して T (絶対暦時刻)、 t (選択された TIME_EPOCH に対する相対時間)、 x (経度)、 y (緯度)、 f ( 小 数) の いずれかを付けること。 −f[i|o]g は −f[i|o]0x,1y (地理座標)の 省略形である。 |
||
−V |
冗長モードを選択する。標準エラー出力に経過報告を送る[デフォ ルトでは「黙って」実行する]。 |
デ フォルトでは、グリッドは netCDF
フォーマット及びメタデータ構造を使っ
たバイナリファイルに格納された浮動小数点データとして書き出される。こ
の フ ォーマットは COARDS の規定に合致している。 GMT
のバージョン 4.1 以前 ではこれらの規定に合致しない netCDF
ファイルを作成していた。これらの フ ァ
イルは今でもサポートされているが、これらを使用する価値は低くなってい
る。浮動小数点の COARDS 規格の netCDF
ファイル以外を書き出すには、フ ァ イル名 outgrdfile
に =id 接尾辞を付けること。 id GMT 4 netCDF 標準フォーマット id GMT 3 netCDF レガシーフォーマット id GMT ネイティブバイナリフォーマット id 様々なフォーマット |
グリッドファイルに使われる標準フォーマットは netCDF に基 づ い て お り COARDS の規定に合致している。このフォーマットで書き出されるファイルは数 多くのサードパーティーのプログラムで読み取ることができプラットフォー ム に依存しない。データを 4 バイト整数の代わりに 1 バイトあるいは 2 バイト で格納することによりディスク容量を節約することができる。この作業をデ ー タの範囲あるいは有意性を損なうことなく行うために scale 及び offset を使 うこと。 多変数グリッドファイル 3 次元グリッド |
バイナリのネイティブ GMT ファイルについて GMT のグリッドヘッダのブロ ッ ク は hsize = 892 バイトで、ファイル全体のサイズは hsize + nx * ny * item_size で、ここで item_size は各要素 (1, 2, 4) のバイト単位のサイ ズ である。ビットグリッドはそれぞれ 32 ビットを持つ 4 バイト整数で格納され 、これらのファイルのサイズを求める式では nx が (nx / 32) * 4 以上の最小 の 整数に変更される。これらのファイルはプラットフォームに依存するので注 意。リトルエンディアンマシン(例えば PC )で書き出されたファイルはビッ グ エ ンディアンマシン(例えば大部分のワークステーション)では読み取れない。 また、 GMT は 4 バイトグリッドが浮動小数点か整数か一意に決めることが で きないので注意。そのような場合は =ID の仕組みを使ってファイルフォーマッ トを指定するのが最良である。ヘッダとグリッドの詳細については付録 B を参 照。 |
入 力データの精度に関わらず、グリッドファイルを GMT のプログラムは 4 バ イト浮動小数点配列として内部に値を持っている。これはメモリの節約のた め であり、更には全ての実数は 4 バイト浮動小数点値を用いて格納することが可 能だからである。より高精度のデータ(すなわち倍精度値)は一度 GMT がグリッ ド 処理をして新しいグリッドを出力すると精度を失うだろう。データ処理の時 に精度の損失を制限するにはデータを処理する前に規格化することを常に考 慮 すべきである。 |
COARDS 規格の netCDF ファイル climate.grd から temp という名前の 3 次元 グリッドの第 2 層を抽出する。 grdreformat climate.grd?temp[1] temp.grd -V COARDS 規格の netCDF ファイル data.grd から 4 バイトネイティブの浮動 小 数点グリッドを作る。 grdreformat data.grd ras_data.b4=bf −V 10 倍にスケールし、 32000 を引き、 NaN を -9999 に設定した 2 バイト整数 のファイルを作る。 grdreformat values.grd shorts.i2=bs/10/-32000/-9999 −V データファイル image.grd の部分セットについて、 image.grd の範囲 0-1 を 0-255 にした Sun 標準 8 ビットラスタファイルを作る。 grdreformat image.grd −R-60/-40/-40/-30 image.ras8=rb/255/0 −V etopo2.grd を grdraster で使えるように etopo2.i2 に変換する。 grdreformat etopo2.grd etopo2.i2=bs −N −V |
GMT(l), grdmath(l) |