水深を描いてみる

それでは、水深のデータをGet!で作成したfunkawan_depth.grdという
水深データを使って以下のような図を描いてみましょう!

図1 噴火湾周辺の水深



ここでは、水深ファイル(funkawan_depth.grd)と、
水深を色で示すカラーパレットというファイルも使用します。
まず、カラーパレットファイルを作ってみます。

GMTにはGMTをインストールしたときに、
カラーパレットのサンプルがインストールされています。
場所は(標準的なインストールを行った場合)自分のパソコンの
C:\programs\GMT\share\cpt
です。
ここから
GMT_ocean.cpt
というファイルをGMT作業用フォルダにコピーします。
GMT_ocean.cptは水深8000メートルまで表示可能なカラーパレットなのですが、
今回使用している噴火湾周辺海域はそんなに深くないので、
GMT_ocean.cptを水深1500mまで表示可能なファイル修正します。
CPTファイルを修正するには、以下のようなコマンドを使用します。
-------------------------------------
makecpt -CGMT_ocean.cpt -T-1500/0/10 > GMT_funka_depth.cpt
-------------------------------------
GMTstart.batを起動させ上をコピーしEnterしてみてください。
フォルダにGMT_funka_depth.cptというファイルが出来上がっていると思います。
これが1500メートルまで表示可能なカラーパレットです。
これを使用し、図1を作成します。
今回使用するコマンドは以下のとおりです。
-------------------------------------
region=140/142/41/43
output=depth_funkawan01.ps
grdfile=funkawan_depth.grd
cptfile=GMT_funka_depth.cpt
grdimage  $grdfile -Jm5 -R$region -C$cptfile -P -K > $output
grdcontour $grdfile -Jm -R -A50 -C -W1ta -L-300/-10 -O -K  >> $output
grdcontour $grdfile -Jm -R -A500 -C -W1ta -L-1500/-300 -O -K  >> $output
psscale -D5/-1/10/0.5h -O -K -C$cptfile -I -B300 >> $output
pscoast -R -Jm -Df -W1 -G200 -A500 -B1 -P -O >> $output

-------------------------------------
1~4行目までは変数の設定で、5~9行目がコマンドになります。
1行目:描画範囲の緯度経度
2行目:作成する画像のファイル名
3行目:使用する水深(.grd)ファイル
4行目:使用するカラーパレット(上で作成したものです。)
5行目:grdimageははじめて出てきましたが、水深に対応する色を付けています。
ここでカラーパレットファイルが使われています。
6,7行目:grdcontourもはじめて出てきましたね。ここで等深線を書いています。
2行になっているのは、等深線の表示間隔を変えているためで、
6行目では水深300mまでは50m間隔。7行目では水深300-1500mは500メートル間隔で等深線を書く指定をしています。
GMTでは水深をマイナスで指定しますので、ここではマイナスを付けています。
注意が必要です!
8行目:地図の下に表示されているスケールバーの指定です。
9行目:最後に海岸線を書いています。
これで完成です!
上の画像は画像作成後にイラストレーターで少し加工しています。


コマンドの順番

シェルスクリプトに書くコマンドの順番ですが、
GMTでは初めに書いたものが最も下になり、
その上にどんどん重ねていきます。
上のシェルスクリプトを見ると
[ 水深の色-等深線-スケールバー-海岸線 ] という順番に、
絵が重ねられてます。
順番を間違え、[ 等深線-海岸線-水深の色 ] の順に描くと、
水深の色のみ表示され、等深線や海岸線隠れて見えなくなってしまいます。
自分でシェルスクリプトを書くときはコマンドを描く順番に注意して下さい。

最終更新:2009年02月09日 15:50
添付ファイル