2012-10-12

(GMT) 地図上にポリゴンを描いて番号を振る

ちょっと実用に使ったのでメモ。

gmtset FRAME_WIDTH = 1p \
GRID_PEN_PRIMARY = thinnest,150 \
ANNOT_FONT_PRIMARY = 4

pscoast -P -R-180/180/-30/90 -JS140/90/5i \
-Bsg30 -Ggray -Dc -A10000 -K > plot.ps
psxy -R -J -A -L -W1p,blue \
-Sqn1:+a0+kblue+N0/-10p+l"1" <<EOF -O >> plot.ps
座標値列
...
EOF

こんなかんじでできる。

・上の例の -JS は中央経度140度の正軸平射図法。

・psxy に -A をつけないと、ポリゴンの辺は大圏になる。(気象のラージスケールだから、ええと地理では逆で…)小縮尺の地図では曲がって見えたりするので、本当に多角形を描きたい場合は -A をつける。

・逆にメルカトル投影面上のポリゴンを平射図法の地図上で表現したい場合など、辺が大圏になっていると近似がよくなる(ポリゴンの頂点数を減らせる)こともある。

・ポリゴンに文字を付すには psxy に -Sq をつける。

・-Sq の後の n1: は文字を打つ数。1なら両端の中間あたりに描く。

・+a0 は文字をアップライトにしてくれる。デフォルトでは両端を結ぶ線に平行に置かれる。

・+l の後の文字列が印字される。文字の色は +k で指定する。
 文字の位置をずらすのは +N のあとにオフセットをつける。

・枠を消したいのだが、 FRAME_WIDTH = 1p が限度だった。

0 件のコメント:

コメントを投稿