2009年 1月 2日 掲載
これまで,pscoast,psxy,pstext と 3つのコマンドをあつかってきた. 今回は,これらを組み合わせて,ちょっと実践的な絵作りをしてみようと思う.
お題は験潮所である. 「KDO's Note 2001:潮汐データの気圧補正」 にある験潮所と測候所の対応データ(ts_sdp.csv)から, 験潮所のデータを抽出して,地図へのプロットを行ってみる.
まずはデータを,上のリンク先からダウンロードする. ダウンロードしたデータ ts_sdp.csv は,
$ cat ts_sdp.csv 0121,MATSUMAE,140.085,41.417,47430,HAKODATE,140.750,41.817,1 0122,TOKACHI,143.327,42.295,47440,HIROO,143.317,42.300,- 0129,KUTSUGATA,141.138,45.185,47401,WAKKANAI,141.683,45.417,1 0132,RUMOI,141.638,43.948,47406,RUMOI,141.633,43.950,- 0133,NEMURO,145.590,43.342,47420,NEMURO,145.583,43.333,- : :
のようになっている. これを awk で加工する.
$ awk 'BEGIN{FS=","}/^HD/{print $3, $4, 12, 0, 0, "ML", $2}' ts_sdp.csv > hdts.txt
海上保安庁(HD??)の験潮所を抽出し, 経度,緯度,験潮所名を,pstext に読ませるフォーマットで出力した.
$ cat hdts.txt 143.365 44.352 12 0 0 ML MONBETSU 142.775 42.162 12 0 0 ML URAKAWA 140.957 42.342 12 0 0 ML MURORAN 141.148 41.253 12 0 0 ML OMINATO 141.893 39.270 12 0 0 ML KAMAISHI : :
で,さっそく描画だ.範囲は東京湾にする. pscoast で地図を描き,psxy で験潮所の位置にマークし, pstext で験潮所名を書き入れる.
$ pscoast -Jm1:750000 -R139.5/140.2/35.1/35.8 -Ggray -K >> ts.eps $ psxy hdts.txt -J -R -Sc0.2 -Gred -W1 -O -K >> ts.eps $ pstext hdts.txt -J -R -O >> ts.eps
なんだこりゃ?
いくらなんでも,海岸線が荒っぽすぎる. まずは,これを何とかしよう.
pscoastコマンドでは, -Dオプションで海岸線の解像度(resolution)を変更できる. 解像度の高い順に,
の 5種類から選べる. デフォルトは l である.
それぞれの解像度で東京湾を描画してみよう.
$ pscoast -Jm1:750000 -R139.5/140.2/35.1/35.8 -Ggray -Df > tokyobay.eps
うん,いい感じだ.
$ pscoast -Jm1:750000 -R139.5/140.2/35.1/35.8 -Ggray -Dh > tokyobay.eps
まだ,大丈夫.
$ pscoast -Jm1:750000 -R139.5/140.2/35.1/35.8 -Ggray -Di > tokyobay.eps
あやしくなってきたぞ….
$ pscoast -Jm1:750000 -R139.5/140.2/35.1/35.8 -Ggray -Dl > tokyobay.eps
これは,だめだ….
$ pscoast -Jm1:750000 -R139.5/140.2/35.1/35.8 -Ggray -Dc > tokyobay.eps
ひどすぎる….
東京湾の例だけでは c なんて,何に使うんだ?と思うかもしれない. が,小縮尺の地図は c にした方がいい. 試しに世界地図を描いてみる.
$ pscoast -Jm1:250000000 -R0/360/-80/80 -W -Dc > world.eps
これを -Df で描画すると,時間がかかる上, 細かい海岸線が重なり合って太線みたいになり, とても見づらい図になってしまう.
今回は地図の解像度の変更するところまでで終了する. 験潮所のマーク(赤丸)と地名が重なってしまっているのは, 次回に何とかしよう.
[ KDOホームにもどる ] [ いちからはじめる GMT インデックスにもどる ]
(C) 2009 KDO