GMT on Windows

WindowsでGMTの綺麗な地図を描く。最近出たGMT5で解説しています。

50mメッシュDEMを用いて段彩図を作成する

今まで作ってきた図と異なり,「数値地図50mメッシュ(標高)」 (以下MEMファイル)を用いた地図を描画するには下準備が必要です. 下準備を含めた手順は以下の通りです.

1. MEMファイルをファイルをGMTで使用するグリッドファイルに変換する 3. 1で作成したグリッドファイルを元に地図を描画する

1. MEMファイルをグリッドファイルに変換する

拙作のMem2Nc.exeを利用することによってMEMファイルをグリッドファイルに変換することが可能です。 コマンドラインに「mem2nc MEMファイルが入っているディレクトリ名 出力したいグリッドファイル名」 の順番に入力してください。
				mem2nc D:\MemFiles -GD:\Working\50m.grd
			

2. グリッドファイルをもとに地図を描画する

@echo off
rem 設定事項
set infile=./50m.grd

rem %hstfile%: 陰影用傾斜データ
set hstfile=./50m.hst

rem %cptfile%:カラーパレット(色設定)
set cptfile=./cpt

rem %psfile%:出力(地図)ファイル
set psfile=./DemMap.ps

rem %range%:描画範囲
set range=136:45/138/35/35:45

rem %scale%:縮尺
set scale=m1:600000

rem 本文
gmtset MAP_FRAME_TYPE = plain
gmtset PROJ_ELLIPSOID = Bessel

grdgradient %infile% -A300 -Ggmt.tmpgrad -V
grdhisteq gmt.tmpgrad -Ggmt.tmphst -N -V
grdmath -V gmt.tmphst 4. DIV = %hstfile%
grdimage %infile% -C%cptfile% -J%scale% -R%range% -I%hstfile% -V -K>%psfile%
pscoast -R%range% -J%scale% -Df -Ba15mf5mWenS -L137:50/34:57/35:20/20 -W2 -S255 -V -O>>%psfile%
ps2raster %psfile% -E100 -Tg -Qt -Qg -P -V
del gmt.*
			

スクリプトの解説

2~18行目:設定項目。ファイル名、描画範囲等を設定します。

3行目:1で作成したグリッドファイルを設定します。(ここでは相対パスで設定しています)

9行目:カラーパレットファイル(下記)。 書式は 最低標高、R、G、B、最高標高、R、G、B こんな感じです。
詳細はオフィシャルのmakecptコマンドの解説 が参考になります。

24行目:グリッドファイルから陰影を作成するための傾斜ファイルを作成します。 -A300は300°(北西)の方角から光が当たるように計算する(こうすると陰影が自然な感じになる)。

25行目:24行目で作成した傾斜ファイルを正規化してコントラストをならしてあげる。

26行目:25行目で正規化した傾斜ファイルの傾斜を4で割っている(そのままだと傾斜が急すぎる)。 逆ポーランド記法という方法で数式を指定。通常「A ÷ B = C」と書くところを「A B ÷ = C」と書いている。 DIVは÷の意で詳細はオフィシャルを参照。

27行目:Mem2Ncで作成した標高ファイルと、24~26行目で作成した傾斜ファイルで段彩図を作成する。 -Cでカラーパレットファイル、-Iで傾斜ファイルを設定。

カラーパレットファイル

-50	124	252	0	50	173	255	47
50	173	255	47	100	255	255	0
100	255	255	0	400	255	210	0
400	255	210	0	800	255	165	0
800	255	165	0	1500	255	140	0
1500	255	140	0	4000	255	69	0
B	0	0	0
F	255	69	0
N	255	255	255
			

地図の見本

LocMap.ps
Copyright© 2002-2014 こびわ