#author("2024-04-06T01:54:57+09:00","default:Miyashita","Miyashita")
#author("2024-04-06T02:04:54+09:00","default:Miyashita","Miyashita")
*GMT6のいいところ [#g0b6be9b]
**gmt begin 〜 gmt end記法の良さ [#qb1ca7d2]

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

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

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

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


***psconvert不要 [#e1b81e9f]
#codeprettify{{
gmt begin figfig png
}}
としたら gmt endを実行した時に figfig.png というファイルができあがるし,
#codeprettify{{
gmt begin figfig pdf
}}
としたら figfig.pdf というファイルができる.PSファイルから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