GMT6.5のサンプルスクリプトを試す4 basemap~円筒図法~
GMT(Generic mapping tools)6.5の公式HPに記載されている例・サンプルスクリプトが示されているが、図が示されていないので描いてみる。
GMT6のサンプルスクリプト試す3 basemap basemap~極座標~の続き
引用元
GMT6.5.0 Documentation basemap
カッシーニ図法
まずはカッシーニ図法から
gmt basemap -R20/50/20/35 -JC35/28/10c -Bafg -B+tCassini -pdf cassini
-JC: 35/28は図の中心を示す。この場合は東経35度北緯28度。大文字Cなので地図サイズは10cm。
でもこれじゃ外枠だけで何もわからないので、海岸線と海域を描いてみた。
coastコマンドはとりあえず適当に。
gmt begin cassini png
gmt basemap -R20/50/20/35 -JC35/28/10c -Bafg -B+tCassini
gmt coast -Di -Ia -W -Scyan
gmt end
紅海付近を中心の地図になった。陸地は塗りつぶしていないのでグリッドが表示され、海域はcoastの-Sオプションでcyanに塗りつぶしているのでグリッド線が表示されていない。
次からはcoastにも-Bafgを付けたほうがよさそうだ。
メルカトル図法
割と一般的で有名なメルカトル図法。
gmt basemap -R90/180/-50/50 -Jm0.025i -Bafg -B+tMercator -Lx1i/1i+c0+w5000k -pdf Mercator
-Jm:小文字で0.025iとしているので、地図のスケール感は1度あたり0.025インチのサイズとするようだ。
また、今回は-Lオプションでスケールを描いている。
-Lx1i/1i+c0+w5000kなので、地図の右下からx方向1インチ、y方向1インチの場所が中心に、緯度0度における5000kmのスケールを描くというもののようだ。
相変わらず外枠だけではわかりにくいので、coastで海岸線を描こう。
でも地図のド真ん中にスケールがあったら邪魔なのでずらしておこう。また、カッシーニ図法で海域にグリッドが描かれなかったので-Bafgをcoastに追加する。
gmt begin mercator png
gmt basemap -R90/180/-50/50 -Jm0.025i -Bafg -B+tMercator -Lx1i/-0.3i+c0+w5000k
gmt coast -Di -W -Scyan -Bafg
gmt end
グリッド線がちゃんと描かれ、スケールが地図の外に出た。
(でもこれだけ広域のメルカトル図法だとスケールの意味がないような気もする。。。)
ミラー図法
続いてミラー図法
gmt basemap -Rg -Jj180/1:200000000 -Bafg -B+tMiller -pdf miller
東経西経180度を中心として2億分の1スケールで描く。
これじゃ何もわからないや。。。
gmt begin miller png
gmt basemap -Rg -Jj180/1:200000000 -Bafg -B+tMiller
gmt coast -Dc -W -Scyan -Bafg
gmt end
極地域が非常に大きく描かれている。
斜軸メルカトル図法
gmt basemap -R0/360/-70/70 -Joc0/0/90/30/0.064c -B30g30 -B+t"Oblique Mercator" -pdf oblmerc
やっぱり海岸線がないとわからないや。。。
gmt begin oblmerc png
gmt basemap -R0/360/-70/70 -Joc0/0/90/30/0.064c -B30g30 -B+t"Oblique Mercator"
gmt coast -Dc -W -Scyan -Bafg
gmt end
-Joc0/0/90/30/0.064c oまたはOで斜軸メルカトル図法になる。小文字oなのでスケール感が1度あたり0.064cm。
cで基準位置の指定方法。今回のcでは中心位置が東経0度北緯0度、極位置が東経90度北緯30度。ほかにa,bでも指定でき、
-Joaまたは-JOaでは、中心位置経度緯度と方位角
-Jobまたは-JObでは、中心位置経度緯度と斜軸をなすもう一点の経度緯度
横メルカトル図法
gmt basemap -R69:30/71:45/-17/-15:15 -Jt70/1:1000000 -Bafg -B+t"Survey area" -pdf transmerc
-Rを使うときに:で区切ると度分秒で指定できる。
-Jt70/1:1000000東経70度が中心で100万分の1スケールになるはず。
これじゃよくわからない。。。
メルカトル図法と比較のためエリアとサイズ感をそろえてみた。
gmt begin transmerc png
gmt basemap -R90/180/-50/50 -Jt130/0.025i -Bafg -B+t"Survey area"
gmt coast -Di -W -Scyan -Bafg
gmt end
正距円筒図法
gmt basemap -R-50/310/-90/90 -JQ130/25c -Bafg -B+t"Equidistant Cylindrical" -pdf cyl_eqdist
やはりよくわからないので地図も描いてみよう。
gmt begin cyl_eqdist png
gmt basemap -R-50/310/-90/90 -JQ130/25c -Bafg -B+t"Equidistant Cylindrical"
gmt coast -Dc -W -Scyan -Bafg
gmt end
なるほど。よく見かける図である。
-JQ130/25c 130で中心経度を指定し、25cmのサイズ感で描くというものだ。
ユニバーサル横メルカトル図法
国土地理院の地形図の図法として有名なものですね。
gmt basemap -R95/5/108/20+r -Ju46/1:10000000 -Bafg -B+tUTM -pdf utm
うん、よくわからない。。。タイを中心とした東南アジア周辺らしい。
-Rの最後に+rオプションをつけることで、範囲をx左下/y左下/x右上/y右上とできる。
+rをつけることによって長方形にならない図法でも長方形の地図を描くようにしている。そのため、左上と右下の隅の座標が中途半端な場所になっている。
gmt begin utm png
gmt basemap -R95/5/108/20+r -Ju46/1:10000000 -Bafg -B+tUTM
gmt coast -Di -W -Scyan -Bafg
gmt end
正積円筒図法
gmt basemap -Rg -JY180/45/9i -Bafg -B+tGall -pdf gall
-Rgというオプションは初めてだ。
-Rの説明をよく読んでみると、-Rgで全世界描けるようだ。
-Rgで東経/西経180度が中心、-Rdも似たもので、東経/西経0度が中心になる。
世界地図を描くには便利だ。
gmt begin gall png
gmt basemap -Rg -JY180/45/9i -Bafg -B+tGall
gmt coast -Di -W -Scyan -Bafg
gmt end
確かに太平洋を中心に全世界を描いている。
-JY180/45/9i 東経西経180度を中心緯度として標準緯度を45度として描いたものだそう。標準緯度45度はガル・ピーターズ図法という。
Discussion