#author("2021-05-10T16:23:10+09:00","default:Miyashita","Miyashita") #author("2021-05-10T16:26:07+09:00","default:Miyashita","Miyashita") * grdvector メモ [#jb30d7b6] **公式doc [#bcec63ba] [[Modules » grdvector>https://docs.generic-mapping-tools.org/latest/grdvector.html]]~ 難しい… **例 [#tb883a04] 2次元の平面分布の Z の色つきコンター図と u, v にもとづく矢印を描く例.~ ここでは z.grd, u.grd, v.grd の 3 つは全て同じサイズ・同じデータ間隔であることを仮定.~ #codeprettify{{ ## output file outps="test_grdvec.ps" ## makecpt cpt="tmp.cpt" gmt makecpt -Cpolar -T-1/1 -D > $cpt ## filenames grd="z.grd" grdu="u.grd" grdv="v.grd" ## parameters proj="X10/`gmt grdinfo $grd -Cn -o0,1,2,3 | awk '{print 10*($4-$3)/($2-$1)}'`" inc=`gmt grdinfo $grd -Cn -o6 | awk '{print 50*$1}'` # 50点おきにプロット ## attributes vecscale=0.5 vecatt="+a25+e+p1+h1+gblack+n1" lw=1 ## plot gmt grdimage $grd -J$proj -Baf -BneSW -R$grd -C$cpt -K > $outps gmt psscale -C$cpt -Bxa0.5f0.1 -By+lm -DJMR+w5.0/0.3+o1.0/0.0+e -J$proj -R$grd -K -O >> $outps gmt grdvector $grdu $grdv -W$lw -I$inc -Si$vecscale -Q$vecatt -T -J$proj -R$grd -K -O >> $outps\ rm $cpt }} **オプション [#w5172c01] *** -I [#u8af93ed] x,y 方向の出力間隔.~ n 点おきということではなく,長さの単位で指定する.~ 例えばデータが 100 m 間隔で入っていて,20 データごと(2000 m)に描きたい場合は -I2000 のようにする.I2000/1000 となどとすると x 方向と y 方向で間隔をそれぞれ指定できる.~ 入力ファイルのデータ間隔で割り切れる値でないとエラーを返すはず. *** -W [#ub2a1014] 矢印の棒の部分の pen attributes. *** -Q [#mef45938] Vector arrtibutes の入力.一番重要で難しい. Vector arrtibutes の入力.一番重要で難しい.~ 基本的にこのオプションは矢印の頭の部分を決めるオプションであることに注意.~ 棒の長さは -Si オプションで決まる. *** -S [#f829e123] ベクトルの長さのスケール.-Si[length] で決める.~ どのような規模の図に対して適切な値が何なのかは全くわからない.~ u,v の値によらず長さを固定したい場合は -Sl[length] とするらしい.長さの固定なんぞ流速分布を描くときに使うことはなさそう.~ *** -T [#z3daea7f] J オプションで指定している投影面が直交軸でないときもよしなに描いてくれるらしい.よくわからない.