ホーム>資料>パソコン
パソコンのプチ情報
前の記事 | 次の記事 |
GMT講座 その7:海底地形図を描こう
さていよいよコンター図を描いてみましょう。コンター図の典型例は地形図です。
日本列島の周りの山の高さや海の深さを、色つきで表示した海底地形図を
ここでは描いてみましょう。
図1にGMTで描いた海底地形図の例を示しました。
このような図を描くにはさすがに1,2行のGMTコマンドでは無理ですので、
シェルスクリプトを利用します(ここではtcsh用を紹介します。bashでも可能です)。
シェルスクリプトに複数のコマンドを描いておけば、シェルスクリプト実行に
それらのコマンドは自動的に順次実行されますので便利です。
ここではシェルスクリプトでよく使う、3つの機能を紹介しておきます。
・リダイレクト:コマンドの出力結果を画面ではなくファイルへ保存する
例: >! = ファイルへ新規上書 >> ファイルへ追記
・パイプ(|):コマンドの出力結果を別のコマンドへの入力とします。
例: ls -lt | more = ファイル一覧を表示 → 1画面ずつスクロール
・バックスラッシュ(\):1行の長いコマンドを2行にわける。
そのほかシェルスクリプト
それでは、図1を描いたシェルスクリプト「japan_sandwell.gmt」を下記に記します。
------------------------------------------------------------
#!/bin/tcsh -f
# GMT script for making bathymetry map (Japan)
# It will take about 5 minutes....!!
gmtdefaults -D >! .gmtdefaults
gmtset LABEL_FONT_SIZE 12 HEADER_FONT_SIZE 18
grdgradient topo_WP.grd -A270 -Nt1 -Gtopo_WP.grd.shade
makecpt -Cglobe -T-8000/8000/100 >! tmp.cpt
grdimage topo_WP.grd -Jm135/35/.3 -R125/150/28/49 -Ctmp.cpt \
-Itopo_WP.grd.shade\
-Ba5/a5WSne:."Bathymetry": -Xa1.0i -Ya2.0i -P -K >! tmp.ps
#grdcontour topo_WP.grd -Jm -R -L-8000/8000 -C500 -A500\
# -Xa1.0i -Ya2.0i -P -K -O >> tmp.ps
psscale -Ctmp.cpt -D3.5/1.3/3.0/0.2h \
-B4000/:"Depth(m)": -P -K -O >> tmp.ps
pscoast -Jm -R -Dh -W2 -Xa1.0i -Ya2.0i -P -O >> tmp.ps
#gv tmp.ps
mv tmp.ps japan_sandwell.ps
rm tmp*.dat tmp*.grd tmp*.cpt *grd.shade
rm .gmt*
------------------------------------------------------------
先ほどの地図では海岸線などの線描で簡単でしたが、コンター図の場合は
覚えるべきコマンドはいくつか増えます。簡単なものから順に解説しましょう。
・makecpt: コンター図を作り際の色の付け方(カラーパレット)を決めます。
-Cglobeで「globe」というパレットを指定しています。これは「紫→青→白→緑→茶」
というように色が変わっています。-T-8000/8000/100は、その色を「-8000m~
8000mへ100mずつ段階的に色分けせよ」という指示です。パレットの設定は
tmp.cptにとりあえず保存されています。
・psscale: 図の下に描かれた、色スケールを作るコマンドです。
-Ctmp.cptは、パレット設定が保存されているtmp.cptを参照せよという意味です。
-D3.5/1.3/3.0/0.2hのうち、最初の2つは表示位置(縦横)、次の2つはスケールサイズ
(横縦)です。-B4000/:"Depth(m)":は、スケールに4000m毎に目盛をいれるという
意味です。
・grdimage: これがコンター図を描くコマンド本体です。「topo_WP.grd」というファイル
(この形式のファイルを「GRDファイル」と呼びます)には北西太平洋周辺の
緯度・経度・標高データが入っています。これをデータとして利用します。
-Ctmp.cptはpsscaleと同様、カラーパレットの指定です。-Iオプションでは、海底地形
図に影をつける際のファイルを指定します(後述)。-Jm、-R、-Bオプションについては
従来どおりです。
・grdcontour: topo_WP.grdに基づいて、等標高線を描いていきます。
-L-8000/8000(-8000~8000mの範囲に対して)、-C500(500m間隔で線を引き)、
-A500(500m間隔で等標高線に標高値も入れていく)、といった意味です。なお、
上記例ではコメントアウト(無視)されていますが、#を取れば復活します。
・grdgradient: grdimageでコンター図を描く際の陰影用データファイルを作成します。
ここではtopo_WP.grdに基づいて、-A270(270度方向から光があたる)という設定
でtopo_WP.grd.shadeとしてファイルに出力します。 -Nt1は影の強さを示します。
つまるところコンター図とは、あるデータ(GRDファイル)に基づいて、ある場所
(緯度・経度)のある値(標高)を画面上に色つきで描いていくことに他なりません。
それでは次に、GRDファイルの違いによる地形図の違いを見ましょう。その次に
実際にGRDファイルを自分で作り、コンター図を描いてみます。
続く。
----
※なお上記スクリプトの先頭と末尾次のような行が含まれています。
gmtdefaults -D >! .gmtdefaults
gmtset LABEL_FONT_SIZE 12 HEADER_FONT_SIZE 18
:
rm tmp*.dat tmp*.grd tmp*.cpt *grd.shade
rm .gmt*
GMTはフォルダ内の初期ファイル「.gmtdefaults」を参照して動作します。また動作中
には中間生成ファイル「.gmtcommands」も出力します。これらが残ったままだと、
GMTの動作がおかしい場合があるため、シェルスクリプトを利用して、毎回初期ファイル
を生成し、GMTでの描画終了後には削除することにしています。
[関連画像]
|
前の記事 | 次の記事 |