GMT
日本地図を描いてみる

【1】海岸線だけ
pscoast -R125/150/25/47 -JM12c -Df -W1/0/0/250 -G120/150/180 -S0/170/220 -Ba10f5g2 > japan.eps
pscoast [コマンド] 海岸線や、川、国境を描く

-R [共通オプション] 地図の範囲を指定。
[書式] -R西端/東端/南端/北端
緯度経度を記述。西経・南緯はマイナス(-)を付ける。例えば西経23.5度は、十進法では -23.5 、六十進法では -23:30 と表記される

-J [共通オプション] 投影法の指定
M : メルカトル法
12c : 地図の幅を12cmで出力

-D [オプション] 海岸線表現精度
f : 完全(full) > h : 高精度(high) > i : 中精度(intermediate) > l : 低精度(low) > c : 雑(crude)

-W [オプション] 海岸線の太さと色
[書式] -Wペンの太さ/R/G/B
R/G/Bは、赤/緑/青 を0〜255で表記

-G [オプション] 陸域の色
[書式] -GR/G/B

-S [オプション] 水域の色
[書式] -SR/G/B

-B [共通オプション] 軸・目盛り・グリッド線の間隔
a : 目盛り数値 / f : フレーム / g : 最小間隔グリッド

> japan.eps [出力先] 「japan.eps」というファイル名で出力

【2】国境・小さな構造の省略
pscoast -R125/150/25/47 -JM12c -Df -W1/0/0/250 -G120/150/180 -S0/170/220 -Ba10f5g2 -A1000 -Na > japan.eps
pscoast [コマンド]

-A [オプション] 構造の省略
[書式] -A数値
数値km未満の構造を省略する。この例では、1000km未満の構造(島・湖等)が省略された

-N [オプション] 国境線
1 = National boundaries
2 = State boundaries within the Americas
3 = Marine boundaries
a = All boundaries (1-3)

【3】川・スケール・タイムスタンプ
pscoast -R125/150/25/47 -JM12c -Df -W1/0/0/250 -G120/150/180 -S0/170/220 -Ba10f5g2 -Ia -Lf149/22/22/500 -U > japan.eps
pscoast [コマンド]

-I [オプション] 河川流路
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 (1-10)
r = All permanent rivers (1-4)
i = All intermittent rivers (5-7)
c = All canals (8-10)

-L [オプション] 地図のスケール
[書式] -L[f][x]lon0/lat0/slat/length[m|n|k]
f : スケールがfancy
lon0 : スケールの中心の経度
lat0 : スケールの中心の緯度
slat : この緯度における距離をスケールに採用
length : スケールの長さ。デフォルトはkm。(m:マイル / n:海里 / k:km)

-U [オプション] タイムスタンプ
図の左下に、GMTのロゴとともに、作成された時刻をプロットする。

【4】等高線(etopo5)・シンボル
grdraster 1 -R125/150/25/47 -JM12c -Gjapan.grd
pscoast -R -JM -Df -W1/0/0/250 -G120/150/180 -S0/170/220 -Ba10f5g2 -K > japan.eps
grdcontour japan.grd -JM -C500 -W1 -L-12000/9000 -O -K >> japan.eps
psxy japan.txt -JM -R -W6/200/0/ -Sc5p -O >> japan.eps
grdraster [コマンド] 標高データの抽出
標高データを収めたバイナリファイルから、指定した範囲のデータをGRD形式(グリッドファイル)で切り出す

1 : "grdraster.info"ファイルで定義されたファイル番号。この場合は、"etopo5"(世界の5分メッシュ標高・水深データ)を示す

-G [オプション] 出力するGRDファイル名

※ -R、-JM などは、数値を指定しない場合は、前のコマンドで指定した数値を継承する

-K [共通オプション] オーバーレイの指定(追記)
同じファイルに追記をするコマンドがある場合

grdcontour [コマンド] 等高線を描く
grdrasterで作成したGRDファイルを指定する

-C [オプション] 等高線の間隔(m)。この例では500m間隔

-W [オプション] (等高線を描く)ペンの太さ・色
[書式] -Wペンの太さ/R/G/B
ここでは色を省略している。省略すると0(黒)になる

-L [オプション] 等高線を描く範囲。
[書式] -L下限/上限

-O [共通オプション] オーバーレイの指定
すでに作成されたファイルに追記する場合
※ -Kオプションで作成されたファイルにしか追記できない

>> [出力先] 既にあるファイルに追記する場合

psxy [コマンド] シンボルを設定
座標データを収めたテキストファイルを指定し、その座標にシンボルを設定する

"japan.txt" の内容
139:13.5 35:00.0
139:52.0 32:06.5
126:54.0 27:47.0
126:58.0 27:33.0
127:05.0 27:16.0
141:04.5 26:42.5
このファイルは、1行に(x座標 y座標)の形式でデータを書く(ここでは経度 緯度)

-S [オプション] シンボルの設定
[書式] -S[symbol][size]
c : 円
5p : 大きさ

【5】シンボル・テキスト
grdraster 1 -R125/150/25/47 -JM12c -Gjapan.grd
pscoast -R -JM -Df -W1/0/0/0 -G100/100/100 -S255/255/255 -Ba10f5g5WeSn -K > japan.eps
grdcontour japan.grd -JM -C1000 -W1 -L-12000/-1000 -O -K >> japan.eps
psxy japan.txt -JM -R -W6/200/0/ -Sc5p -O -K >> japan.eps
pstext japan.txt -JM -R -O >> japan.eps
-B [共通オプション]
WeSn : 目盛り数値を書く方角を大文字、書かない方角を小文字で指定

pstest [コマンド] テキストの表示
座標データを収めたテキストファイルを指定し、その座標にテキストを表示する

"japan.txt" の内容
139:13.5 35:00.0 10 -30 1 LM Hatsushima
139:52.0 32:06.5 10 0 1 RM Myojin
126:54.0 27:47.0 10 0 1 CB Kitaiheya
126:58.0 27:33.0 10 0 1 LM Iheya
127:05.0 27:16.0 10 0 1 CT Izena
141:04.5 26:42.5 10 0 1 RM Kaikata
[書式] x y size angle fontno justify text
この例では、psxyは第1、2項しか使わないので、psxyとpstextで共通のファイルを使った。
fontno : この例の「1」は「Helvetica-bold」
justify : 座標点がテキストのどの位置に来るかを指定。Left / Center / Right と Top / Middle / Bottom を組み合わせる

【6】標高で色を塗り分ける(etopo5)・スケール
grdraster 1 -R125/150/25/47 -JM12c -Gjapan.grd
grdimage japan.grd -JM -Ba10f5g2 -Cshare\GMT_relief.cpt -K > japan.eps
psscale -Ba4000g2000f1000:depth: -Cshare\GMT_relief.cpt -D9c/-1c/6c/0.3ch -O >> japan.eps
grdimage [コマンド] 2次元カラーイメージ
2次元バイナリのグリッドファイルから、2次元カラーイメージ(塗りつぶしコンター)を出力する

-C [オプション] カラーパレットファイルを指定

psscale [コマンド] スケールを作る

-B [オプション] スケール情報
a : 数値の間隔 / g : グリッドの間隔 / f : tickの間隔
※ コメントを「:」に挟んで記述できる

-D [オプション] スケールの位置
[書式] -Dxpos/ypos/length/width[h]
xpos(x座標)、ypos(y座標) : 地図の左下隅を原点として、スケールの中心の位置を指定
length : スケールの長さ
width : スケールの幅
※ ここでは全てcmで表記した(数値にcを付ける)
h : スケールを水平(horizontal)に表示(デフォルトは垂直)

※ スケールの範囲は、カラーパレットファイルで定義された領域。この例では、GMT_reliefが-8000〜8000なので、それに対応した範囲が描かれる。

【7】標高で色を塗り分ける(gtopo30)・スケール
grdraster 19 -R125/140/25/40 -JM12c -GjapanSW.grd
grdraster 23 -R140/150/25/40 -JM12c -GjapanSE.grd
grdpaste japanSW.grd japanSE.grd -GjapanS.grd
del japanSW.grd
del japanSE.grd

grdraster 20 -R125/140/40/47 -JM12c -GjapanNW.grd
grdraster 24 -R140/150/40/47 -JM12c -GjapanNE.grd
grdpaste japanNW.grd japanNE.grd -GjapanN.grd
del japanNW.grd
del japanNE.grd

grdpaste japanN.grd japanS.grd -Gjapan.grd
del japanN.grd
del japanS.grd

grdimage japan.grd -JM -Ba10f5g2 -Cshare\GMT_relief.cpt -K > japan.eps
del japan.grd
psscale -Ba4000g2000f1000:depth: -Cshare\GMT_relief.cpt -D9c/-1c/6c/0.3ch -I -O >> japan.eps
※ gtopo30は、世界の陸域30秒(1km)メッシュ標高データである。データが詳細で大きいため、世界を33分割してファイルに収められており、地図の範囲が複数のファイルにまたがる場合は、各ファイルから必要部分を切り出し(grdraster)、つなぐ(grdpaste)作業が必要となる

grdraster [コマンド]

19, 23, 20, 24 : "grdraster.info"ファイルで定義されたファイル番号。それぞれ、100/140/-10/40、140/180/-10/40、100/140/40/90、140/180/40/90 の範囲。
日本はちょうど、この4つのファイルにまたがる。4重合点は、東経140度北緯40度の秋田県男鹿半島付近である。

grdpaste [コマンド] 隣接した範囲を持つ2つのグリッドファイルの結合

del [DOSコマンド] ファイルの削除。作成されるグリッドファイルは、数10MBのサイズになるので、HDの容量が心もとない場合はコマンドで削除してしまうと忘れずに済む。

※ etopo5は陸域・水域にまたがる標高データだが、gtopo30は陸域のみなので、水域に色がつかない。

psscale [コマンド]

-I [オプション] スケールに陰影をつける

【7】地図に使えるカラーパレットファイル
grdraster 1 -R125/150/25/47 -JM4c -Gjapan.grd
grdimage japan.grd -JM -Bf5g0wesn -Cshare\GMT_xxxxx.cpt -K > japan.eps
pscoast -R -JM -Dl -W1 -K -O -A500 >> japan.eps
psscale -Ba5000g2000f1000 -Cshare\GMT_xxxxx.cpt -D2c/-0.3c/4c/0.15ch -O >> japan.eps
カラーパレットだけ替えて、すべて上記のスクリプトで作成した。xxxxxに、下記のgebco等が入る
gebco
Colors for GEBCO bathymetric charts
[-7000/0]
globe
Colors for global bathy-topo relief
[-10000/10000]
ocean
white-green-blue bathymetry scale
[-8000/0]
relief
Wessel/Martinez colortable for bathymetry/topography
[-8000/+8000]
topo
Sandwell-Anderson colors for topography
[-7000/+7000]
sealand
Smith bathymetry/topography scale
[-6000/+3000]

Kamichu / GMT