GMTで標高・水深を色で塗り分け(gridimage)、スケールをつける(psscale)
WindowsでGMT第8回、前回からの続きです。
連載のまとめはこちら(外部リンク)です。
ブログ内のカテゴリーGMT(地図ツール)からでも一括でみることができます。
標高・水深を色で塗り分けて(gridimage)スケールをつけてみる(psscale)。
フォルダは前回までと同じで
GMTのインストールフォルダc:\programs\GMT4
地形データETOPO1の保存先 c:\programs\GMT4\share\dbase
作業フォルダ d:\data\gmt
とします。
1.色塗りしてみる(gridimage)
gridimageを使って、etopo1により早速色塗りをしてみます。
適当な名前で次のバッチファイルを作ります。
まずはpscoastで海岸線を引かずに作業始めます。
-------------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -Cc:\programs\GMT4\share\cpt\GMT_relief.cpt -P>mapbat.ps
-------------------------------------------
今回もグリッドファイルはetopo1から必要な範囲をgrdcutで切り出して使用しています(1行目)。
2行目gridimageは2次元バイナリのグリッドファイルから、2次元カラーイメージ(塗りつぶしコンター)を出力するコマンドです。グリッドファイルの範囲(今回はR120/155/20/50)の描画を自動的に行います。書式はgridimage グリッドファイル名 オプションの順になります。
-J:描く図法,-B:枠の指定,-P:印刷を縦向き、の各オプションはpscoastと共通です。
-Cオプション:カラーパレットファイルを指定します。
カラーパレットとは、色塗りする色調を指定しているファイルです。windows用のGMT4.5.8ではGMTをインストールしたフォルダの中の\share\cptに入っています(今回のケースではc:\programs\GMT4\share\cpt\となります)。このフォルダを除くとGMT_(色々な名前).cptというファイルが24個ほど入っています。このファイルそれぞれに各種色調が指定してあります。ここではGMT_relif.cptで試しに色塗りしてみます。
2.スケールをつけてみる(psscale)
スケールをつけるコマンドはpsscaleです。さきほどのバッチファイルを書き換えますが、-Kオプションと-Oオプションを忘れないよう追加します。
-------------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -Cc:\programs\GMT4\share\cpt\GMT_relief.cpt -P -K>mapbat.ps(改行)
c:\programs\GMT4\bin\psscale -Ba4000g2000f1000:depth(m): -Cc:\programs\GMT4\share\cpt\GMT_relief.cpt -D8c/-1c/9c/0.3ch -O>>mapbat.ps
-------------------------------------------
オプションの説明です。
-Bオプション:aスケールの数字間隔、gスケールに縦線を入れる場所,fスケールに補助線を入れる場所を指定する。fオプションの後に:と:で区切った間に表示させる説明文をいれる。
-Cオプション:カラーパレット-の場所を指定する。gridimageと同じです。
-Dオプション:スケールの位置を図の原点からの相対位置でx,y,幅,高さの順に指定する。cmはc,インチはiをつける。最後のhはバーを横向につけるという意味。指定しなければ縦向きとなります。
出てきたスケールですが、-8000~8000となっています。これはGMT_relief.cptが-8,000m~+8,000mまでしか定義されていないためです。範囲外の数字は両端の色で描かれます。この上限値はカラーパレット毎に異なっています。
ところで、このまま絵を描いてみても、スケールバーの下にdepth(m)という表記が出てきません。これは図の下側が切れてしまったためです。そこで全体を5cm上に移動させます。その場合は描画の1個目のコマンド(この場合はgridimageに-Yオプションをつけます。-Y5cで5cm上に描くという意味です。
-------------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -Cc:\programs\GMT4\share\cpt\GMT_relief.cpt -Y5c -P -K>mapbat.ps(改行)
c:\programs\GMT4\bin\psscale -Ba4000g2000f1000:depth(m): -Cc:\programs\GMT4\share\cpt\GMT_relief.cpt -D8c/-1c/9c/0.3ch -O>>mapbat.ps
-------------------------------------------
x方向に移動する場合は-Xでかけます。下や左に移動する場合は-(マイナス)で指定します。インチはiです。一度原点を移動すると、それ以降にでてくるすべてのコマンドの原点が変わります。この場合ですと、psscaleの原点も5cm上に上がっています。そのためにdepth(m)が見えるようになりました。
3.色調を変えてみる。
まずGMT_globe.cpt(-10,000m~+10,000m)を使ってみます。先ほどのバッチファイルでカラーパレットの箇所のみ変更します。
-------------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -Cc:\programs\GMT4\share\cpt\GMT_globe.cpt -Y5c -P -K>mapbat.ps(改行)
c:\programs\GMT4\bin\psscale -Ba4000g2000f1000:depth(m): -Cc:\programs\GMT4\share\cpt\GMT_globe.cpt -D8c/-1c/9c/0.3ch -O>>mapbat.ps
-------------------------------------------
色調が少し変わりました。またスケールが-10,000~10,000に自動的に変わったのがわかります。
さらにGMT_ocean.cpt(-8,000m~0m)に変更してみます。
-------------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -Cc:\programs\GMT4\share\cpt\GMT_ocean.cpt -Y5c -P -K>mapbat.ps(改行)
c:\programs\GMT4\bin\psscale -Ba4000g2000f1000:depth(m): -Cc:\programs\GMT4\share\cpt\GMT_ocean.cpt -D8c/-1c/9c/0.3ch -O>>mapbat.ps
-------------------------------------------
スケールが-8000~0に変更となったため、陸地はすべて上限値の白色となりました。
この場合、海岸線はpscoastで描きます。最後の行に海岸線を描くコマンドを追加します。psscaleに-Kオプションをつけるのを忘れずに。
--------------------------------------------
c:\programs\GMT4\bin\grdcut c:\programs\GMT4\share\dbase\ETOPO1_Ice_g_gmt4.grd -R120/155/20/50 -Gjapan.grd(改行)
c:\programs\GMT4\bin\grdimage japan.grd -JM12c -Bg5a10f5:."Map": -Cc:\programs\GMT4\share\cpt\GMT_ocean.cpt -Y5c -P -K>mapbat.ps(改行)
c:\programs\GMT4\bin\psscale -Ba4000g2000f1000:depth(m): -Cc:\programs\GMT4\share\cpt\GMT_ocean.cpt -D8c/-1c/9c/0.3ch -O -K>>mapbat.ps(改行)
c:\programs\GMT4\bin\pscoast -JM12c -R120/155/20/50 -W -O>>mapbat.ps
--------------------------------------------
海岸線が出てきました。このようにGMTではコマンド毎に重ね描きすることができます。
« 後免町 | トップページ | カラーパレットの範囲を変更する(makecpt) »
「GMT(地図ツール)」カテゴリの記事
- QGISで海岸線を描画する(GMTのpscoast的なこと)(2019.10.16)
- GMT5.4.5 windows64ビット版 インストーラー使用でのインストール(2019.10.09)
- XYZ形式の海底地形図を3Dプリンタでプリントする(2019.10.08)
- カラーパレットの範囲を変更する(makecpt)(2013.01.08)
- GMTで標高・水深を色で塗り分け(gridimage)、スケールをつける(psscale)(2012.12.24)