GMT6のいいところ

gmt begin 〜 gmt end記法の良さ

概要の方にもちょっと書いたが,gmt begin と gmt end というコマンドができて,これまでの煩わしいことが結構減った.
適当な地形データを描く例を見てみる.下はgmt begin 〜 gmt endを使った書き方の例.

topofile="$1"

palette=earth
output=${topofile//\.grd/}
proj="X12/$(gmt grdinfo $topofile -Cn -o0,1,2,3  | awk '{print 12*($4-$3)/($2-$1)}')"
echo $proj

# ここから GMT6
gmt begin $output png
    gmt makecpt -C$palette -D
    gmt grdimage -J$proj -Baf -BneSW+t$topofile -R$topofile -C $topofile
    gmt colorbar -C -Bxaf -By+lm -DJMR+w8.0/0.3+o1.0/0.0
    gmt coast -Wthinnest -Df
gmt end

主なポイントは以下の通り.

>, >>, -K, -O など不要

これまでは最初のプロットには -K をつけて > で出力して,以降のプロットには -O で >> で…とやっていたが,gmt begin〜gmt end の中で一括りと判断するので,これらが不要になった.実際やってみると結構便利.

2回目プロット以降の -R, -J が不要

2回目以降のプロットに -J -R などの表示範囲が同じ場合の省略形のオプションが不要になった.

makecpt のファイル出力不要

gmt makecpt したやつを何らかの hogehoge.cpt にはき出して,のちのコマンドで -Chogehoge.cpt というのが旧バージョンでの方法だった.
gmt begin〜gmt endの中に makecpt を入れれば,ファイルに出力していなくても次のコマンドで -C と省略形を入れるだけで直前の makecpt を反映してくれる.
これも結構良い.

psconvert不要

gmt begin figfig png

としたら gmt endを実行した時に figfig.png というファイルができあがるし,

gmt begin figfig pdf

としたら figfig.pdf というファイルができる.PSファイルからPDFに変換などしなくてよい.
こういった出力ファイル変換を内部で行うことになったのもあり,(ライブラリがちゃんと参照できないとダメなので)インストール時の依存関係がより厳格になった気がする.


Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2024-04-05 (Fri) 17:04:54 (24d)