スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

海洋汚染のデータをまとめてGMTというツールで図示する練習その2

 
海洋汚染のデータをまとめてGMTというツールで図示する練習その1」の続きです。

前回は、文科省のサイトにあるような図を描こうとして、GMT(Generic Mapping Tool)というツールを使うとできそうだ、ということでチャレンジしたことを書きました。そして、GMTをインストールして、見よう見まねでなんとか図を描ける所まで行き着きました。今回はその続きです。

私が参考にしているのは「海にデータをプロット!」です。ここに書いてあるとおりにソフトをダウンロードしてインストールしたらうまくいきました。現在のGMTのバージョンは4.5.7で、多くの日本語解説サイトがあるバージョン3シリーズとは変わっているところが若干の不安ですが、とりあえずインストールして動かしてみることができました。

こういうソフトを使おうとした時、インストールでうまくいかないことがあってあきらめてしまうことが多いのですが、今回は比較的すんなりいきました。ただ、私の記事を読んでやってみようとしてもうまくいかない人がいるかもしれません。たぶんその人の機種によって違うので、私はそこのトラブルシューティングまではできません。

それ以外に、「GMT(ver. 3.0)よいよいガイド(文字化けする時は文字コードを変えると見えます)」と「GMTの使い方(pdf)」は印刷して持っていますし、他にもいろいろと参考になるサイトが「GMTの使い方7」にあります。

また、長崎大学 水産学部 海洋物理学研究室の講義でもこのツールは使っているようです。GMTは海洋学を研究する人には必須のツールなのかもしれませんね。


さて、前回の図はこれでした。等深線もないし、測定ポイントもまだ記入できていません。
12/28GMT3_kaiyou1

上の図を作成するには以下のようなコマンドを1行入れればできます。

pscoast -R139.5/145/34.5/40 -Jm2 -Ba1f1g1 -G200 -P -W -Dh > kaiyou01.ps

pscoastというのは地図を描くためのコマンドだそうです。このコマンドでは、-Jというオプションと-Rというオプションが必須です。

ですが、これでは毎回長ったらしいコマンドを入れないといけないので、このコマンドをファイルに入力してしまうことができます。GMT_track_1.txtというファイル名で保存します。

#!/bin/bash
region=139.5/145/34.5/40
output=kaiyou01.ps
pscoast -R$region -Jm2 -Ba1f1g1 -G200 -P -W -Dh > $output

1行目の「#!/bin/bash」はプログラムを作る時につけておく必要があるそうです。
2行目はRオプションで指定する領域を変数としてかいています。これを定義しておけば、4行目の「-R$region」で「-R139.5/145/34.5/40」と読み替えてくれます。
同様に、3行目のoutputは、出力するファイル名をここで定義しておきます。これで、4行目の「> $output」で「> kaiyou01.ps」と読み替えてくれます。

これで、下記のように入力したら先ほどと同じ図を描いてくれるはずです。bashというのは上のようなプログラムファイルを実行する時に必要なコマンドです。

bash GMT_track_1.txt


こうしておくと何がいいかというと、regionやoutputを自由に入れ替えることができるので、一度使ったプログラムの使い回しができるのです。私は前回ここでつまづきました。何が原因だったかというと、メモ帳で入力していたので、改行コードがCR+LFになっていました。これをエディタ(私の場合はTerapad)でLFに変えるとうまくいきました。

次に海洋モニタリングのポイントをプロットしようと思います。試しに文科省のA1、A3、a1、B1、B3に該当する経度と緯度(この順番でないといけないようです)を入力したファイルを作成しておき、idokeido1.txtという名前で保存しておきます。

12/31GMT-1

今度は、先ほどの地図を描いた後にpsxyというコマンドで図形をプロットする作業を行います。3行目にdata=idokeido1.txtと入れておきます。そうすれば、6行目のところで$dataで読み込んでくれます。このファイルをGMT_track_idokeido1.txtというファイル名で保存します。

#!/bin/bash
region=139.5/145/34.5/40
data=idokeido1.txt
output=kaiyou01.ps
pscoast -R$region -Jm2 -Ba1f1g1 -G200 -P -W -Dh -K > $output
awk '{print $1,$2}' $data | psxy -Jm -R -St0.2 -G255/0/0 -O -K >> $output

6行目は、awkというよくわからないコマンドなのですが、やっている内容からすると、あるファイルから指定した条件の列を書き込んで出力するというコマンドのようです。ここでは元々2列しかないデータをそのまま読み込んでいますが、4列目と2列目、というような選択もできるようです。

そして、そのあとで「|」というパイプでpsxyコマンドにつなげています。具体的には、idokeido1.txtというファイルに入っている1列目と2列目のデータ5個をpsxyでプロットし、kaiyou01.psというファイルに出力しています。Stというのが三角形を書くオプションです。○や□などいろいろな形も書けます。

そして、その結果がこれです。kaiyou01.ps(注意:このファイルはポストスクリプトファイルを読めるソフトがないと開けません)というファイルです。

12/31GMT-2

やっとこれでモニタリングポイントを図にプロットすることができました。ここまでできれば、あとは緯度経度のデータさえあれば、形を変えて自由にプロットできます。

今回はここまでとします。

関連記事
にほんブログ村 科学ブログへ ブログランキング・にほんブログ村へ
↑日本ブログ村ランキングに参加しました。よかったらクリックお願いします。

コメント

プロフィール

TSOKDBA

Author:TSOKDBA
twitterは@tsokdbaです。
3.11では、停電・断水のため、一晩避難所で過ごし、震災後の情報収集をきっかけにブログを始めました。
これまで約4年間、原発事故関係のニュースを中心に独自の視点で発信してきました。その中でわかったことは情報の受け手も出し手も意識改革が必要だということです。従って、このブログの大きなテーマは情報の扱い方です。原発事故は一つのツールに過ぎません。

FC2カウンター
ブログランキング
にほんブログ村 科学ブログへ
ブログランキング・にほんブログ村へ
↑日本ブログ村ランキングに参加しました。よかったらクリックお願いします。
最新記事
最新コメント
最新トラックバック
月別アーカイブ
ふくしまの恵み(全量全袋検査の結果)

全記事表示リンク

全ての記事を表示する

検索フォーム
カテゴリ
RSSリンクの表示
カレンダー
03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
こちらにもぜひご記入を!
読んだ感想を是非お聞かせください。
無料アクセス解析
おすすめのリンク
QRコード
QR
メールフォーム

名前:
メール:
件名:
本文:

ブロとも申請フォーム

この人とブロともになる

FC2ブログランキング

FC2Blog Ranking

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。