📝

GMT6.5のサンプルスクリプトを試す4 basemap~円筒図法~

2024/09/26に公開

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