海域のデータをGISで処理したいなと調べていたところGMTでの作成例を見つけて、これはカッコいい!真似したいと思ったので、その方法をハッキング?試行錯誤したのでメモっときます。(オリジナルの作者さまに感謝です)
0.インストール
ここを参考にしました。
http://www19.atwiki.jp/suisan/
1.データを取ってくる。
http://topex.ucsd.edu/cgi-bin/get_srtm30.cgi
ここからSRTM30 PLUSのデータを取ってきます。範囲は任意ですが、W135 E150 N46 S36にしました。今回は、data.txtというファイル名にしました。(これはchromeよりIEで作業した方がいいかも。)
2.netCDF(grd)データに変換
data.txtを作業フォルダに移動して、以下のコマンドを打ってdata.grdを作成します。
surface data.txt -I30c -Gdata.grd -R135/150/36/46
3.陰影データを作成
data.grdからdata.iniを作成します。
grdgradient.exe data.grd -A270 -Gdata.int -Ne0.9 -M
4.地形画像を作成
C:\programs\GMT4\share\cpt\GMT_relief.cpt を作業フォルダにコピーして以下のコマンドを打ちます。
grdimage.exe data.grd -Idata.int -R135/150/36/46 -Jm0.7 -CGMT_relief.cpt -P -K > test.eps
5.フォントの設定を変更
軸のフォントを変更します。
gmtset ANNOT_FONT_SIZE_PRIMARY 10p gmtset ANNOT_FONT_PRIMARY Times-Roman
6.海岸線を重ねあわせ
地形画像に海岸線と枠を重ね合わせます。
pscoast.exe -R135/150/36/46 -BWSne2 -Jm0.7 -Dh -W0.1p/50/50/50 -O >> test.eps
7.画像に変換
test.epsをtest.jpgに変換します。
ps2raster.exe test.eps -A -Qt -Qg
8.上記作業を一括で
テキストに以下を貼り付けてtest.shというファイル名で保存します。(terapadとかで改行コードをLFに)
surface data.txt -I30c -Gdata.grd -R135/150/36/46 grdgradient.exe data.grd -A270 -Gdata.int -Ne0.9 -M grdimage.exe data.grd -Idata.int -R135/150/36/46 -Jm0.7 -CGMT_relief.cpt -P -K > test.eps pscoast.exe -R135/150/36/46 -BWSne2 -Jm0.7 -Dh -W0.1p/50/50/50 -O >> test.eps ps2raster.exe test.eps -A -Qt -Qg #gsviewで確認したければ↓のコメントをはずして下さい #gswin32 test.eps
以下のコマンドを打ては、上記の作業を一括で実行できます。
bash test.sh
データについてメモ
「Satellite Geodesy at the Scripps Institution of Oceanography」
http://topex.ucsd.edu/WWW_html/mar_topo.html
Google Earthにも採用されている地形データ(SRTM30 PLUS)
SRTM30 PLUSは、陸域は30秒メッシュ(約1km)のSRTM30のデータで(高緯度地域はGTOPO30で補完)、海域は1分メッシュを他の詳細なデータで補完したデータ。
参考
「500mメッシュ水深データ」
http://jdoss1.jodc.go.jp/cgi-bin/1997/depth500_file.jp
日本周辺海域の詳細なデータ。日本周辺でSRTM30 PLUSとどれぐらいデータの精度が違うのかな?
詳細はこちら
参考
http://www.slideshare.net/nuimura/120414-foss4g-nagoyapresentation1
http://www.slideshare.net/nuimura/120414-foss4g-nagoyapresentation2
http://www19.atwiki.jp/suisan/
http://ofgs.aori.u-tokyo.ac.jp/~okino/gmtscripts/index.html
http://www5.plala.or.jp/kashima/gmt/gmt.html
http://homepage1.nifty.com/~kdo/gmt00_index.html