grdmath コマンド メモ

公式doc → https://docs.generic-mapping-tools.org/latest/grdmath.html

NetCDF4 フォーマットなどで書かれた GMT で使う面的データをいろいろ操作できる.
機能がありすぎて難しい.
他のコマンドと違い出力が -Ggrdfile ではなく = grdfile になる点に注意.

符号反転

正負を全て逆に変換する.

gmt grdmath file_org.grd NEG = file_new.grd



足し算

2つの面データ fileA および fileB のそれぞれの要素を足し合わせて1つのファイルにする.

gmt grdmath fileA.grd fileB.grd ADD = file_ABadd.grd



定数倍(割り算)

DIV でそれぞれの要素を一定値で割る.
秒から分に変換するときは

gmt grdmath file_sec.grd 60 DIV = file_min.grd

割り算は DIV で掛け算は MUL.


ある値以下(以上)の値をゼロに

閾値を設けてそれより小さいものは表示しないようにしたいときなどに使う.
u, v の 流速分布があったとして, (u^2+v^2) が 5 以下の要素を全て 0 にしたいときは以下のようにする.

grdu=u.grd
grdv=v.grd

gmt grdmath $grdu $grdv R2 25 GT $grdu MUL = u_gt5.grd # sqrt(u^2+v^2) > 5 m/s だけ抽出
gmt grdmath $grdu $grdv R2 25 GT $grdv MUL = v_gt5.grd

grdmath A B R2 が A^2 + B^2 を指すため, 5 以上としたい時は 25 とする点に注意.

OR演算

面データ fileA および fileB の中の各要素で,2つのファイルのうちどちらか一方でも NaN だった場合は NaN になる.
どちらも NaN でない場合は fileA の値になる.
主にマスキングで使う.

gmt grdmath fileA.grd fileB.grd OR = fileABor.grd



Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2021-11-13 (Sat) 17:05:23 (887d)