地名をプロットする
前回の解説で海岸線の地図を描くことが出来ました。今回は地名をプロットした地図を作成します。
地名は経度(x)、緯度(y)を記載したタブ区切りテキスト(city.txt)に保存しておきます。
スクリプト
@echo off set psfile=./LocMap.ps set infile=./city.txt set range=134/142/33/39 set scale=m1:5000000 gmtset MAP_FRAME_TYPE = plain pscoast -R%range% -J%scale% -Ba1df30mWenS -L140:45/33.5/36/200 -G240 -Df -W1 -Y1.3 -V -K>%psfile% mawk32 '{print $1" "$2}' %infile% | psxy -R%range% -J%scale% -Sc0.1 -G0 -O -K -V>>%psfile% mawk32 '{print $1" "$2-0.08" 10 0 0 CT "$3}' %infile% | pstext -R%range% -J%scale% -O -V>> %psfile% ps2raster %psfile% -E100 -Tg -Qt -Qg -P -V -A
スクリプトの解説
2~5行目:出力ファイル・地点ファイル(緯度・経度・地名)・描画範囲・縮尺・投影法を各変数に代入
6行目:gmtsetコマンドで図の「縁」を白黒模様から普通の線に変更
8・9行目:mawk(*)を用いて地点ファイルのデータ(1行目=$1・・・)を,psxy・pstextに流し込む。
10行目:$2-0.08は文字と点が重ならないように文字を南へ下げるのがミソ
11行目:ラスタファイルを作成。-Aオプションをつけるとギリギリのところでトリミングされます。
※awkのマルチバイト文字対応版(Bruce.さん作) VectorからDL可