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