2012年 7月 1日 掲載
今回は,地理座標系での目盛り数値についてである.
大縮尺の地図で,目盛りなどの間隔を「分」単位で指定したいときは, -Bオプションの数値に「m」をつける.
$ pscoast -Jm10 -R139.6/141.0/34.6/36.0 -Dh -Ggray -Ba20m > bousou.eps
このケースでは,経緯度の目盛り数値が「度分」で描画された. 地理座標の目盛り数値のフォーマットは,PLOT_DEGREE_FORMAT で指定されている. gmtdefaultsコマンドでどうなっているか見てみよう.
$ gmtdefaults -L | grep "PLOT_DEGREE_FORMAT" PLOT_DEGREE_FORMAT = ddd:mm:ss
「ddd:mm:ss」は,度(ddd),分(mm),秒(ss)を区切って表示するという指定である. 描画するとき,mm,ss の値がそれぞれすべて 00 になる場合は省略されるようだ.
PLOT_DEGREE_FORMAT が ddd:mm:ss だと, 目盛り間隔を度の小数で指定した場合,わかりにくくなることがある.
$ pscoast -J -R -Dh -Ggray -Ba0.2 > bousou.eps
このようなケースでは,目盛りを度分表示ではなく,度の小数表示にしたい. そういうときは,gmtset で PLOT_DEGREE_FORMAT に「D」と指定すればよい. 「D」と指定すると,目盛りの表示に小数表示のフォーマットが適用される.
$ gmtset PLOT_DEGREE_FORMAT D $ pscoast -J -R -Dh -Ggray -Ba0.2 > bousou.eps
小数表示がどのようなフォーマットかは,「D_FORMAT」で指定されている.
$ gmtdefaults -L | grep "D_FORMAT" D_FORMAT = %.12lg
デフォルトでは,「%.12lg」となっている. このフォーマットの書き方は,C言語の printf文の変換仕様の書き方で, C言語を使う人にはおなじみなのだが,知らない人もいると思うので, GMT で使う範囲で簡単に説明しよう.
ざっと,こんな感じだろうか.
デフォルトの「%.12lg」は,総桁数の指定なしで, 小数点以下 12桁までの書くように指定されているが, 「g」なので末尾の連続する 0 が省略される.
今回の例では,「.0」も書いてほしいので,D_FORMAT を「%.1lf」に変更してみよう.
$ gmtset D_FORMAT %.1lf $ pscoast -J -R -Dh -Ggray -Ba0.2 > bousou.eps
思い通りの図ができた.
[ KDOホームにもどる] [ いちからはじめる GMT インデックスにもどる ]
(C) 2012 KDO