gmt coast の使い方

[https://docs.generic-mapping-tools.org/dev/coast.html]

gmt coast は海岸線を描くためのコマンドです。
GMT5までは、gmt pscoast というコマンドでした。

地図を描く際は必須となるコマンドでしょう。

gmt coast -D[f|h|i|l|c] -W[線の太さ] [-G] [-S] [-L] [-C]

ベースとなる図

今回はこちらの図を基に海岸線などを描いていきます。

#!/bin/bash
gmt begin plot png
    gmt basemap -JM12 -R139/149/41/46 -Bafg -BWSNE
gmt end

海岸線を描く

gmt coast -D[f|h|i|l|c] -W[線の太さ] [-G【陸の色】] [-S【水域の色】] [-L【x|g|j|J|n】] [-C【湖・川の色】] [-I【描画する川の範囲】] [-N【描画する国境】] etc..
※ -Gを指定しない場合、陸は「塗りつぶさない」。
※ -Sを指定しない場合、水域は「塗りつぶさない」。
※ -Cを指定しない場合、湖や川は「塗りつぶさない」。
※ -Nを指定しない場合、国境は「描画しない」。
※ -Iを指定しない場合、川は「描画しない」。

とりあえず、これくらい覚えれば大丈夫です。

たとえば、先ほどの地図の枠に海岸線を描くには、

#!/bin/bash
gmt begin plot png
    gmt basemap -JM12 -R139/149/41/46 -Bafg -BWSNE
    gmt coast -Df -W0.25
gmt end

とすれば、この結果が、

となります。

海岸線の種類 (-D)

GMTでは海岸線の細かさを5段階から選べます。
細かいものから順番に、Df → Dh → Di → Dl → Dcの順番となります。

  1. Df
    ![]https://dandango.pw/wp-content/uploads/2020/07/wp_editor_md_60b77150ddc7cceb10ab6bf8c9c3aff5.jpg)

2.Dh

3.Di

4.Dl

5.Dc

色を塗りつぶす (-G, -S, -C)

たとえば、陸を黄緑色、水域を水色で塗りつぶすならば、

#!/bin/bash
gmt begin plot png
    gmt basemap -JM12 -R139/149/41/46 -Bafg -BWSNE
    gmt coast -Df -W0.25 -Glightgreen -Slightblue
gmt end

となり、この結果が、

となる。湖沼などの場合も同じ用法。

指定できる色の名前は下記参照
[https://docs.generic-mapping-tools.org/dev/gmtcolors.html#list-of-colors]

川を描く (-I)

0 = Double-lined rivers (river-lakes)
1 = Permanent major rivers
2 = Additional major rivers
3 = Additional rivers
4 = Minor rivers
5 = Intermittent rivers – major
6 = Intermittent rivers – additional
7 = Intermittent rivers – minor
8 = Major canals
9 = Minor canals
10 = Irrigation canals
a = All rivers and canals (0-10)
A = All rivers and canals except river-lakes (1-10)
r = All permanent rivers (0-4)
R = All permanent rivers except river-lakes (1-4)
i = All intermittent rivers (5-7)
c = All canals (8-10)

どの川がどれに分類されているかは、CIA World Data Bank IIによる。

国境を描く (-N)

1 = 国境
2 = 米国の州境界
3 = 海上に存在する国境
a = 全ての境界 (1-3)

#!/bin/bash
gmt begin plot png
    gmt basemap -JM12 -R139/149/41/46 -Bafg -BWSNE
    gmt coast -Df -W0.25 -Glightgreen -Slightblue -Na
gmt end

この結果が、

である。ロシア~北海道には国境データが設定されていない。

スケールを描く (-L)

-L[x|g|j|J|n][座標]+c[基準となる緯度]+w[長さ][+f][+l”label”]
※ ” +f “とすると装飾されたスケールとなる

スケールを置く位置は、gmt colorbar の-Dオプションとほぼ同じく4種類から選べる。

  1. 地図座標 (-Dg)
  2. 図の左下を原点とした長さで指定 (-Dx)
  3. 位置コード (-Dj/-DJ)
  4. 相対的位置 (-Dn)

地図の座標で決める (-Lg)

-Lg[経度]/[緯度]+c[基準となる緯度]+w[長さ][+f][+l”label”]
※ スケールの長さの単位は[km]。
※ ” +f “とすると装飾されたスケールとなる。

たとえば北緯40度・東経148度の位置に200kmの装飾されたスケールを置くには、

#!/bin/bash
gmt begin plot png
    gmt basemap -JM12 -R139/149/41/46 -Bafg -BWSNE
    gmt coast -Df -W0.25 -Glightgreen -Slightblue -Lg148/40+c41+w200+f
gmt end

とすると、この結果が、

となる。

図の原点からの距離で決める (-Lx)

-Lx[X座標]/[Y座標]+c[基準となる緯度]+w[長さ][+f][+l”label”]
※ スケールの長さの単位は[km]。
※ ” +f “とすると装飾されたスケールとなる。

たとえば、図の左下から右に11cm, 下に1cmの位置に200kmの単純なスケールを置くには、

#!/bin/bash
gmt begin plot png
    gmt basemap -JM12 -R139/149/41/46 -Bafg -BWSNE
    gmt coast -Df -W0.25 -Glightgreen -Slightblue -Lx11/-1+c41+w200
gmt end

とすると、この結果が、

となる。

位置コードで指定する (-Lj / -LJ)

-Lj[位置コード]+c[基準となる緯度]+w[長さ][+j[位置コード]][+o Xオフセット/Yオフセット][+l”label”]
※ スケールは図の内側に表示される
※ 位置コードは[T|M|B]+[L|C|R]を組み合わせること。(左下はBL,上部中央はTC等)
※ “+j”は-Ljにて指定した位置に、スケールのどの場所を置くかを指定する。
※ スケールの長さの単位は[km]。
※ ” +f “とすると装飾されたスケールとなる。


-LJ[位置コード]+c[基準となる緯度]+w[タテの長さ/ヨコの長さ][+j[位置コード]][+o Xオフセット/Yオフセット][+l”label”]
※ スケールは図の外側に表示される
※ 位置コードは[T|M|B]+[L|C|R]を組み合わせること。(左下はBL,上部中央はTC等)
※ “+j”は-LJにて指定した位置に、スケールのどの場所を置くかを指定する。
※ スケールの長さの単位は[km]。
※ ” +f “とすると装飾されたスケールとなる。

位置コードは使いこなせると便利です。

たとえば、

先ほどの図と同じような構図にするには、

#!/bin/bash
gmt begin plot png
    gmt basemap -JM12 -R139/149/41/46 -Bafg -BWSNE
    gmt coast -Df -W0.25 -Glightgreen -Slightblue -LjBR+c41+w200+jBR+o0/-1+f
gmt end

とすると、


となります。

コメント

タイトルとURLをコピーしました