はじめてGMT6を触る方々に向けた記事です。
GMTについて
GMTは地図やグラフを簡単に描画することができるプログラムです。
主に地球科学の分野で使用されています。
公式サイトはこちらから
The Generic Mapping Tools
The swiss army knife of geoscience
公式マニュアルはこちらから
The Generic Mapping Tools Documentation — GMT 6.6.0 documentation
インストール方法
インストール
地球科学関係の色々なソフトやプログラムのインストール方法について説明しています。
いざ、地図を描く
今回は以下のような地図を描いてみよう、
この図を描くには、
- 地図の枠を描く
- 地図に海岸線を引く
- DEMで使用するカラーパレットの作成
- DEMの取得
- DEMの勾配計算
- DEMの描画
の6ステップが必要です。
順に見ていきましょう。
地図の枠を描く
gmt basemapの使い方
GMTのbasemapモジュールについて説明しています。
地図の枠を描くには、gmt basemap を使用します。
今回はヨコ12cmの地図を作成しましょう。
#!/bin/bash
gmt begin hogehoge png
gmt basemap -JM12 -R120/150/20/50 -Bafg -BWSNE
gmt end
そうすると、hogehoge.png という画像ファイルが出力される。
地図の海岸線を描く
gmt coast の使い方
GMT6のcoastモジュールについて説明しています。
地図の海岸線を描くには、gmt coast を使用します。
#!/bin/bash
gmt begin hogehoge png
gmt basemap -JM12 -R120/150/20/50 -Bafg -BWSNE
gmt coast -Df -W0.25
gmt end
この結果が、
となる。
DEMで使用するカラーパレットの作成
gmt makecpt の使い方
GMTのmakecptモジュールについて説明しています。
カラーパレットを作成するにはgmt makecpt を使用します。
今回はgeoを使用します。
#!/bin/bash
gmt begin hogehoge png
gmt basemap -JM12 -R120/150/20/50 -Bafg -BWSNE
gmt coast -Df -W0.25
gmt makecpt -Cgeo -T-8000/8000/200 -Z
gmt end
DEMの取得
grdcut・grdgradient・grdimageの使い方
GMTのgrdcut・grdgradient・grdimageモジュールについて説明しています。
今回は、earth_relief_15sを使用します。
#!/bin/bash
gmt begin hogehoge png
gmt basemap -JM12 -R120/150/20/50 -Bafg -BWSNE
gmt coast -Df -W0.25
gmt makecpt -Cgeo -T-8000/8000/200 -Z
gmt grdcut @earth_relief_15s -R120/150/20/50 -Gdem.nc
gmt end
DEMの勾配計算
光を当てる角度は45度にする。
#!/bin/bash
gmt begin hogehoge png
gmt basemap -JM12 -R120/150/20/50 -Bafg -BWSNE
gmt coast -Df -W0.25
gmt makecpt -Cgeo -T-8000/8000/200 -Z
gmt grdcut @earth_relief_15s -R120/150/20/50 -Gdem.nc
gmt grdgradient dem.nc -Ggrad.grd -A45 -Ne0.5
gmt end
DEMの描画
DEMを地図に描画するには gmt grdimageを使います。
#!/bin/bash
gmt begin hogehoge png
gmt basemap -JM12 -R120/150/20/50 -Bafg -BWSNE
gmt coast -Df -W0.25
gmt makecpt -Cgeo -T-8000/8000/200 -Z
gmt grdcut @earth_relief_15s -R120/150/20/50 -Gdem.nc
gmt grdgradient dem.nc -Ggrad.grd -A45 -Ne0.5
gmt grdimage dem.nc -Igrad.grd -C
gmt end
rm *.nc *.grd
これで、上の図が描けるはずです!
コメント