GRDREFORMAT

名前
書式
説明
オプション
フォーマット指定子
GMT 標準 NETCDF ファイル
ネイティブのバイナリファイル
グリッド値の精度

関連項目

名前

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 を付けるこ とができる。これらのオプションはデータを読み込んだ後で指定さ れ た量のスケーリングをしてからオフセットを行う。
scale
及び offset を与えるときは ’Not-a-Number’ を表す値も付け ることができる (浮動小数点グリッドについては IEEE NaN が使わ れ て いるのでこれは不要である。しかし整数についてはデータが無いこ とを意味する値が必要である)。

outgrdfile

書き出されるグリッドファイル。標準の COARDS 規格の netCDF グ リ ッドファイルでないときはフォーマット =id 番号を付けること。 =id を設定するときは(下を参照)、随意で scale 及び offset を付けるこ と ができる。これらのオプションはデータを整数で記憶するときは特 に実用的であり、始めにオフセットを取り除いてから値のスケール を 元 に戻す。読み込むときとは逆の順序でスケールとオフセットが与え られるので、 (丸めを除き)データの値に影響を及ぼすことは無い。
scale
及び offset を与えるときは ’Not-a-Number’ を表す値も付 け る ことができる (浮動小数点グリッドについては IEEE NaN が使われ ているのでこれは不要である。しかし整数についてはデータが無い こ とを意味する値が必要である)。

オプション

−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 に付けること)のどちらかを与えることができ る。少なくとも dateclock のどちらかが存在していなければなら ない。 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 接尾辞を付けること。
フ ァイルを読み込むとき、 grdreformat 及び他の GMT プログラムは自動的に netCDF グリッドファイルの任意の形式を認識する。これらは COARDS 規格又は 4.1 以前のフォーマット、浮動小数点又は整数データのどれでも良い。他の形 式のグリッドファイルを読み込むには、ファイル名 ingrdfile に =id 接尾 辞 を付けること。

id GMT 4 netCDF 標準フォーマット
nb GMT netCDF フォーマット (1 バイト整数) (COARDS 規格)
ns GMT netCDF フォーマット (2 バイト整数) (COARDS 規格)
ni GMT netCDF フォーマット (4 バイト整数) (COARDS 規格)
nf GMT netCDF フォーマット (単精度浮動小数点) (COARDS 規格)
nd GMT netCDF フォーマット (倍精度浮動小数点) (COARDS 規格)

id GMT 3 netCDF レガシーフォーマット
cb GMT netCDF フォーマット (1 バイト整数) (減価的)
cs GMT netCDF フォーマット (2 バイト整数) (減価的)
ci GMT netCDF フォーマット (4 バイト整数) (減価的)
cf GMT netCDF フォーマット (単精度浮動小数点) (減価的)
cd GMT netCDF フォーマット (倍精度浮動小数点) (減価的)

id GMT ネイティブバイナリフォーマット
bm GMT ネイティブ、 C バイナリフォーマット (ビットマスク)
bb GMT ネイティブ、 C バイナリフォーマット (1 バイト整数)
bs GMT ネイティブ、 C バイナリフォーマット (2 バイト整数)
bi GMT ネイティブ、 C バイナリフォーマット (4 バイト整数)
bf GMT ネイティブ、 C バイナリフォーマット (単精度浮動小数点)
bd GMT ネイティブ、 C バイナリフォーマット (倍精度浮動小数点)

id 様々なフォーマット
rb SUN ラスタファイルフォーマット (8 ビット標準)
rf GEODAS グリッドフォーマット GRD98 (NGDC)
sf Golden Software Surfer フォーマット 6 (単精度浮動小数点)
sd Golden Software Surfer フォーマット 7 (倍精度浮動小数点、読み取り 専用)
af Atlantic Geoscience Center フォーマット AGC (単精度浮動小数点)

GMT 標準 NETCDF ファイル

グリッドファイルに使われる標準フォーマットは netCDF に基 づ い て お り COARDS の規定に合致している。このフォーマットで書き出されるファイルは数 多くのサードパーティーのプログラムで読み取ることができプラットフォー ム に依存しない。データを 4 バイト整数の代わりに 1 バイトあるいは 2 バイト で格納することによりディスク容量を節約することができる。この作業をデ ー タの範囲あるいは有意性を損なうことなく行うために scale 及び offset を使 うこと。

多変数グリッドファイル
デフォルトでは、 GMT プログラムは COARDS 規格の netCDF ファイルに含まれ る 最初の 2 次元のグリッドを読み込む。あるいは、必要な変数 varname を指 定するには (任意の随意の接尾辞 =id の前に) ingrdfile?varname を使うこと 。 ? はワイルドカードとして特別な意味を持つので、ファイル名と接尾辞の全 体を引用符で囲んでこの意味をエスケープすること。

3 次元グリッド
COARDS 規格の netCDF ファイルに格納された 3 次元グリッドから 1 つ の layer 又は level を抽出するには、 ingrdfile?varname[layer] の形式で変数 名と( 0 から始まる)層に関連付けられたインデックスの両方を付けること。あ る い は 、 角 型括弧の代わりに丸括弧を使ってその層に関連付けられた値を ingridfile?varname(level) のように指定すること。疑問符、角型括弧、丸 括 弧 はコマンドライン上で特別な意味を持つので、ファイル名と接尾辞の全体を 引用符で囲んでこれらの意味をエスケープすること。

ネイティブのバイナリファイル

バイナリのネイティブ 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)