GMT

提供: MacWiki
移動: 案内検索

目次

GMT とは?[編集]

GMT (Generic Mapping Tools) は、地理的データを扱うための数多くのコマンドのセットです。単純化して言えば「地図を描く」ソフトです。数多くの投影法に対応しています。地図だけでなくグラフを描くこともできます。GNU General Public License のオープンソースソフトウェアです。

GUI は用意されておらず,ターミナルからコマンドを打ち込んで使います。実際の利用場面ではシェルスクリプトを書いて使うことが多いでしょう。もとは地震学などの分野で使うことを想定して作られたソフトウェアですが、それ以外の分野でも、試料採取地を地図上に表示したい、地理的なデータから地図上に等値線を入れたい、などといったときに有用かと思います。出力が PostScript なので Adobe Illustrator などで修正を加えるのも容易です。

最新版は 2013-01-01 にリリースされた 4.5.9 です。次期メジャーアップデートとなる GMT 5 は、2011-08-25にベータ版がリリースされています。GMT5 を使用したい場合、4 と 5 beta の双方をインストールし、gmtswitch で両者を適宜切り替えて使用することが推奨されています。

新バージョンの変更点については、GMT reference and cookbook の Chapter1 を参照してください。

また、リアルタイムな修正状況については、chagelog を参照してください。


GMT 4.5.9 の変更点[編集]

  • バグフィックスリリース。
  • GSHHS の名称が GSHHG (Global Self-consistent Hierarchical High-resolution Geography) となり、GMT とは独立してリリースされるようになった。
  • GSHHG で島嶼のデータの一部が修正された。

GMT 4.5.8 の変更点[編集]

  • バグフィックスリリース。
  • mgd77 の機能強化。

GMT 4.5.7 の変更点[編集]

  • バグフィックスリリース。
  • GSSH の問題が修正され、バージョンが 2.2.0 となった。

GMT 4.5.6 の変更点[編集]

  • バグフィックスリリース。
  • GSSH の問題が修正され、バージョンが 2.1.1 となった。

GMT 4.5.5 の変更点(4.5.4 は欠番)[編集]

  • バグフィックスリリース。
  • spotter 追加パッケージの動作を変更。
  • ハワイ語の時間軸をサポート。

GMT 4.5.3 の変更点[編集]

  • 基本的にバグフィックスリリースだが、機能強化もある(gmtmath、grdgradient、grdmath、pswiggle、mgd77/mgd77、x2sys/x2sys_get、GMT_nighttime.cpt、GMT_paired.cpt)。
  • 国境線などの修正(シリア-イスラエル間、イスラエル-ヨルダン間、モルドバ-ウクライナ間、エリトリア-エチオピア間の境界線)。
  • 消失していた河川-湖沼メタデータの修正。
  • これらの修正により、GSHHS のバージョンが2.1.0になった。

GMT 4.5.2 の変更点[編集]

  • 基本的にバグフィックスリリースだが、新機能の追加もある。
  • GSHHS のバージョンが2.0.2になった(ポリゴン自体には変更なし)。

GMT 4.5.1 の変更点[編集]

  • バグフィックスリリース。GSHHS のバージョンが2.0.1になった(ポリゴン自体は2.0と同じ)。ほか、若干の機能追加。
  • 多円錐図法のサポート(-JPoly)。
  • GDAL経由でのグリッドデータおよび画像の入出力(実験的な機能、configure時に指定)。
  • -JXwidth/height オプションで height に 0 を指定すると、領域の縦横比と width の値から height を再計算するようになった(width に 0 を指定すればその逆になる)。

GMT 4.5.0 の変更点[編集]

  • 新しい追加パッケージ sph(Spherical triangulation, Voronoi construction and interpolation)を導入。曲面上での補間、三角分割(Delaunay法およびVoronoi法)、距離計算を可能にする。
  • imgsrc 追加パッケージに img2google スクリプトを追加。これを用いれば Sandwell and Smith のグローバル水深データから簡単に Google Earth タイルを作成できる。
  • mgd77 追加パッケージに mgd77magref プログラムを追加。
  • misc 追加パッケージに gmt2kml と kml2gmt を追加(GMTデータを Google Earth で表示することを補助)、dimfilter を追加。
  • x2sys 追加パッケージに x2sys_merge を追加。
  • ps2raster で単純な kml ファイルを生成できるようになった。
  • グローバルなオプション -g を導入。
  • 地球楕円体の指定方法を変更。
  • 海岸線データ GSHHS のバージョンが 2.0 に。データの改善と -A オプションの拡張に対応。
  • configure スクリプトの改良。64ビットシステムのサポートを改善した。また、netCDF の有無と、インストールされていればその場所を自動的に検出するようになった。

GMT 4.4.0 の変更点[編集]

  • 様々なスプラインのグリーン関数(Green's function)による補間・グリッディング。
  • その他の追加機能に、Douglas-Peucker アルゴリズムによる曲線の単純化を行うツール、gmtdp を追加。
  • MEX 関連の追加機能に、Sandwell/Smith 画像ファイル (*.img) を直接読み込む関数 imgread.m を追加。
  • x2sys 追加機能に3つのプログラム(x2sys_list, x2sys_cross, x2sys_report)を追加。
  • GMT_qsort(qsort の64ビット対応版)を追加。qsort が Mac OS X の 64 bit 環境で動作しないので、その代用として Mac OS X で 64 bit 対応版をコンパイルする際にのみ使用される(Apple がこの問題をフィックスするまでの措置)
  • ps2raster による geotiff 画像の生成が可能になった(GDAL が必要)。
  • バグ修正(gmt_customio.c, gmt_init.c, gmt_io.c, gmt_map.c, gmt_math.h, gmt_plot.c, gmt_proj.c, gmt_support.c, gmt_vector.c, pslib.c, gmtmath.c, grdblend.c, grdfilter.c, grdimage.c, grdmath.c, grdreformat.c, psbasemap.c, pscoast.c, pslegend.c, psmask.c, psscale.c, pstext.c, psxyz.c, xyz2grd.c, meca/psmeca.c, meca/pscoupe.c, misc/gmtstitch.c, mgd77/mgd77.c, mgd77/mgd77sniffer.c, mgd77/mgd77track.c, spotter/backtracker.c, x2sys/x2sys_get.c, xgrid/xGridEdit.c)
  • その他、多くの機能強化
    • pscoast で -D オプション指定を“+”で修飾できるようになった。指定した解像度が利用できない場合、その次に解像度の低いデータを利用するようになる。この変更は gmtselect および grdlandmask にも影響。
    • psxy および psxyz に新オプション -Iintens を追加。
    • 3つの実行例を追加。
    • etc.

GMT 4.3.1 の変更点[編集]

いくつかのバグが修正されています。作者によれば“critical”なバグもあったようなので、4.3 ユーザはアップデートが推奨されています。

GMT 4.3 の変更点[編集]

  • シェルスクリプトとして、csh系でなく Bourne shell の書式を使うようになりました。
  • ソースファイルが .bz2 形式のみで提供されるようになりました。
  • 海岸線データファイルが更新(GSHHS 1.10)されました。
  • MEX において、Octave とのインターフェイスがサポートされました。
  • ソースコードが完全に64bit対応となりました。
  • “isolation mode”(一時ファイルおよび隠しファイルを GMT_TMPDIR 環境変数で指定したディレクトリに書き込む)が追加されました。
  • インストール時の configure/make において、CFLAGS や LDFLAGS が設定されていればそれを使用するようになりました。
  • 色名が16進コード(#ff0000 など)で指定可能になりました。
  • 投影法を名称(proj4 で用いられているのと同様のもの)で指定可能になりました。
  • バイナリのテーブルデータとして“COARDS-compliant netCDF”ファイル(詳細について、筆者は未検討)が使用可能になりました。

上記の変更にともない、GMTparam.txt で指定する項目も少し変わっています。

インストール(公式バイナリの利用)[編集]

GMT5.1.0 くらい以降では、64bit Intel Mac 用のコンパイル済バイナリが用意されています。Download ページ から、gmt-5.1.2-darwin-x86_64.dmg をダウンロードできます (2015-05-06 現在)。ディスクイメージを開くと GMT-5.1.2.app というパッケージ、Applications フォルダのエイリアス、Documentation フォルダが並んでいるので,GMT-5.1.2.app を Application フォルダにコピーします。

GMT-5.1.2.app を起動すると、環境変数等が適切に設定された Terminal.app のウインドウが開きます。あるいは、いちいち GMT-5.1.2.app を起動しなくても、シェルの PATH に /Applications/GMT-5.1.2.app/Contents/Resources/bin を追加すればパッケージ内に用意されたコマンドが使用できます。

インストール(パッケージシステムによる場合)[編集]

GMT のインストールは、なんらかのパッケージシステムを利用するのが楽でしょう。Fink では、ソースインストールのバージョンが4.5.9-1 となっています(2013-04-11現在)。Fink がインストールされていれば、

fink install gmt

でソースからGMT 本体と gmt-shlibsパッケージがインストールされます。

次に

fink install gshhs

で海岸線データ(gshhsパッケージ)がインストールされます。以前は中〜低解像度データは本体と同時にインストールされ、高解像度、フル解像度のみgshhs-hiresパッケージでインストールしていましたが、パッケージ構成が変わっています。 ドキュメントおよびサンプル、チュートリアルは gmt-docパッケージでインストールされます。


MacPorts の場合、バージョンは 4.5.9 となっていて(2013-05-08現在)、

sudo port install gmt4

でインストールできます(port install gmt とすると 4.5.6 がインストールされます)。海岸線データの GSHHG は別パッケージになっています(gmt4 の依存パッケージなので、特に指定しなくてもインストールされる)。

variant で octave を指定すると Octave とのインターフェイスがインストールされます。また、triangle を指定すると三角形分割のアルゴリズムに J. Shewchuk の高速なルーチン(ただしライセンスはGPLでない)が用いられるようになります。xgrid を指定すると XGRID 関連がインストールされます。GDAL 関連の機能の variant (gdal) はデフォルトで指定されています。また、全ての解像度の海岸線データ、ドキュメントおよびサンプル、チュートリアルがデフォルトでインストールされます。MEX 関連の機能はインストールされません。

また

sudo port install gmt5

で gmt 5.0.0beta がインストールされます。

Homebrew の場合、バージョンは 4.5.9 となっていて(2013-05-08現在)、

brew install gmt

で、GDAL 関連の機能 と J. Shewchuk のルーチンが有効な状態でインストールされます。XGRID および MEX 関連の機能はインストールされません。

インストール(パッケージシステムによらない場合)[編集]

パッケージシステムが提供していないバージョンを使いたい場合などは、自分でインストールすることになります。GMT のインストールには、インターネットへの接続環境、Developer Tools のインストール、NetCDF のインストール(後述)が必要ですので、事前に準備しておいてください。

GMT のサイトで“DOWNLOAD”をクリックし、右下のフレームで“INSTALL FORM”のリンクをクリックすると、パラメータ設定ファイルの作成用フォームのページがフレーム内に開かれます。そこの“A. Basic Requirements:”の下にある“install_gmt.sh”のリンクから、“install_gmt.sh”というファイルを GMT をインストールしたいディレクトリに保存します。次に、その下の各項目を選択していき、“GET PARAMETERS”のボタンを押すと、フレーム内に GMT4param.txt ファイルが表示されるので、これを install_gmt.sh と同じディレクトリに保存します。

そこで Terminal.app を起動し、install_gmt.sh と GMT4param.txt とを保存したディレクトリに移動して

$ sudo sh install_gmt.sh GMT4param.txt
PASSWORD:(パスワードを入力)

と入力すれば、インストールが開始されます(インターネットに接続している必要があります)。

インストール終了後にシェルの環境変数の設定を促す文章が表示されますので、それに従ってパスの設定などを行ってください。

GMT4param.txt がない場合、

$ sudo sh install_gmt.sh
PASSWORD:(パスワードを入力)

とすれば、対話的なインストールが開始されます。インストールスクリプトが設定を聞いてきますので、それに答えていけばインストールされます。ただし、質問がけっこう多く、間違っても元に戻ることはできない(スクリプトを中断するしかない)ので、GMT4param.txt を用いたインストールの方が楽でしょう。

また、gmt-4.5.9.tar.bz2 を保存しておいて、

$ tar xzf gmt-4.5.9.tar.bz2
$ cd GMT4.5.9
$ ./configure
$ make
$ make install
$ make install-data
$ make install-man
$ make install-doc

としてインストールすることもできます。日本語対応パッチなどを利用したい場合には、この方法を利用することになるでしょう。./configure --help でインストールのオプションを確認できますので、必要に応じて ./configure 時に適宜指定してください。


GMT 5 のインストール[編集]

基本的に GMT 4と同様です。GMT5 のホームページの“DOWNLOAD”から“INSTALL FORM”のリンクを辿って“install_gmt.sh”ファイルをダウンロードし、下記パラメータ群(GMT 4.5.9 とは多少の違いがあります)を設定した後、GMT5param.txt ファイルをダウンロードしてください。

$ sudo sh install_gmt.sh GMT5param.txt
PASSWORD:(パスワードを入力)

でインストールが行われます。


パラメータの説明[編集]

以下、パラメータの設定支援フォームの各項目について、簡単に解説します。

A. Basic Requirements:[編集]

1. Select default units in GMT:[編集]

描画する図形の長さの単位を指定します。とくに理由がなければデフォルト(SI単位系)でよいでしょう。

2. Select default PostScript output format for GMT:[編集]

出力を PostScript 形式にするか、Encapsulated PostScript 形式にするか選択します。現在は PAPER_MEDIA パラメータで出力形式を選択できるので、これには最初のデフォルト値を指定するという意味しかありません。 GMT5 用フォームには、この項目はありません。

3. Select POSIX Advisory File Locking:[編集]

ファイルロッキングを使用するか否かを指定します。デフォルト(YES)でかまいません。

B. NetCDF Setup[編集]

1. Select the appropriate netCDF library option:[編集]
  • NetCDF についての指定です。事前に netCDF をインストールしていなければ“Please get and install the latest netCDF 3.6.x”を選択しますが、この場合は最新版をインストールしようとするので、バージョンによっては netCDF のインストールに失敗するかもしれません。事前にインストールしておく方が安全でしょう。
  • 事前に netCDF をインストールした場合は、“netCDF 3.6.x is already installed”を選択します。パッケージシステムで netCDF をインストールした場合は、“Give full pathname to the netCDF directory: ”のフォームに、利用したパッケージシステムに応じて netCDFディレクトリを入力(MacPorts の場合は /opt/local、Fink の場合は /sw、Homebrew の場合は空欄でよい)します。自前で netCDF をインストールした場合は、インストールディレクトリをデフォルトから変更していない限り、ここのフォームは空欄にしてください。
2. OPTIONAL. Experimental GDAL import support:[編集]

GDAL を経由してさらに多くの種類の grid ファイルを読み込んだり、geotiff 形式の出力を行うことが可能になりました。実験的な機能という扱いですが、GDAL のサポートが必要であれば、“Build optional/experimental GDAL grid import”をチェックし、“If you selected to use GDAL, give full pathname to the GDAL directory:”のフォームに GDAL をインストールしたディレクトリを入力してください(B.1.を参照)。

3. GSHHG Coastlines, rivers and political boundaries:[編集]

4.5.9 (GSHHG 2.2.2) から海岸線データが GMT 本体とは別個に配布されるようになりました。

GMT5beta をインストールしているなど、GSHHG 2.2.2 をすでにインストールしている場合、“GSHHG is already installed (provide installed location below)”をチェックし、下の“Give full pathname to the GSHHG directory:”に GSHHG のインストール先のフルパス名(たとえば“/usr/local/GMT4.5.9/share/coastline”などとする)を入力します。

そうでない場合はデフォルト(Please get and install the latest GSHHG)のままにしておきます。

アーカイブファイル(gshhg-gmt-nc4-2.2.2.tar.gz または gshhg-gmt-nc3-2.2.2.tar.bz2)を既にダウンロードしているならば、“I already have the GSHHG archive, just install it for me”にチェックを入れます。

GSHHG がインストール済みでない場合には、“Give full pathname to the GSHHG directory:”で指定したディレクトリに GSHHG がインストールされます。空欄にしておくと、GMT 本体のインストール先のディレクトリに GSHHG がインストールされます。

  • ……と書いてあるのですが、このフォームを空欄にしておくと“Please get and install ... ”や“... I already have the GSHHG archive”をチェックしていても GSHHG がインストールされない場合があるようです。


C. GMT Setup[編集]

1. Select the FTP site nearest you:[編集]

ソースコードをダウンロードするサイトを選択します。“Asia (ISV, Hokkaido University, Sapporo, Japan)”を選べばよいのですが、ダウンロードに失敗する場合は適当なところを選択してください。新バージョンのリリース直後には本家との同期が済んでいないために、ミラーサーバによっては最新版をダウンロードできないことがあります。

  • 現在、北大のミラーサーバはなくなっていますが、ここの選択は“Asia”で大丈夫です(東海大学のftpサーバに接続します)。
2. Select normal [Default] or passive ftp transmission:[編集]

通常の ftp と受動的ftp のどちらでダウンロードするかを選択します。どちらを選択すべきかはお使いのネットワーク環境によります。大学や組織のLAN内からダウンロードする場合は注意してください。

3. Install GMT version 4.5.9; uncheck if no install is required (bzip2 sizes indicated):[編集]

既に GMT 4.5.9 のソースコードをダウンロード済みの場合(再インストールするときなど)以外は、チェックを外さないでください。

4. Select which triangulation algorithm to use:[編集]

三角形分割のアルゴリズムを選択します。デフォルト(Watson's algorithm)でかまいませんが、Shewchuk のアルゴリズムの方が高速です。ただし、Shewchuk のコードのライセンスは GPL ではありません。とくに私企業で、あるいは営利目的で利用しようと考えている方はライセンスをよく検討してください。

5. Select library build type:[編集]

ライブラリのリンク形式を選択します。“Shared (dynamic) Libraries”で大丈夫なはずですが、バージョンによっては make に失敗することがあるようです。したがって、デフォルト(Static)にしておいた方が安全です。その場合はディスク消費量が増えますが、それほど問題にはならないでしょう。

6. Select the C compiler you want to use:[編集]

デフォルト(cc)でかまいません。Apple の Developer Tools と異なるコンパイラを使う場合には“ohters”を選択して“Custom C Compiler: ”のフォームにそのコンパイラのパスを入力します。

また、“When producing executables:”で“32-bit”を選べば強制的に32bitバイナリが、“64-bit”を選べば64bitのバイナリが生成されます(いずれも非推奨)が、とくに理由がなければ“Use default”のままにしておいてください。

7. Select the make program you want to use:[編集]

make に使用するプログラムを選択します。デフォルト(make)でかまいません。

8. Select GMT final destination directories[編集]

GMT をインストールするディレクトリを入力します。デフォルトでは install_gmt のあるディレクトリに作られる GMT{version_No} 内の bin, lib, include, share, man, www ディレクトリの下に各種ファイルがインストールされます。それ以外の場所にインストールするには、このフォームでディレクトリを指定するか、インストールしたいディレクトリに install_gmt および GMTparam.txt を置いてインストールを実行するかしてください。

たとえば、“Place GMT in subdirectories of:”のフォームに /usr/local/GMT4.5.9 と入力しておけば、/usr/local/GMT4.5.9/bin、/usr/local/GMT4.5.9/lib 等々に各ファイルがインストールされます。bin、lib などのインストール先を個別に指定したければ、その下の“Place GMT executables in:”などのフォームで指定します。

9. Select alternative GMT_SHAREDIR directory[編集]

リモートから GMT を使うユーザがいる環境でなければ、デフォルト(空欄)のままにしてください。

GMT は、海岸線データなど基本的なデータファイルや設定ファイルを、セクションC.8で指定した各ディレクトリから読み取ります。しかし、これらのディレクトリがリモートユーザからは違うパス名で見えることがあります。このような場合には、$GMT_SHAREDIR 環境変数を設定することで正しい場所を指定できます。こうしたことが想定される場合には、このフォームに $GMT_SHAREDIR のパスを入力してください。

  • 実際には、この指定はインストール終了後に表示される環境設定に関する指示に使われるだけのようです。上記のような問題がある場合には、インストール後にシェルの設定ファイルで $GMT_SHAREDIR を設定してもよいと思われます。
10. Select optional supplemental packages to install:[編集]

追加パッケージを選択します。デフォルトでかまいません。MATLAB または Octave をインストールしていて、それらとのインターフェイスが必要ならば“MEX:”にチェックを入れ、チェックボックスでどちらかのアプリケーションを選択してください。 XGRID についても同様です。

11. Additional information for MEX (Matlab or Octave):[編集]

上記 11. の補足です。必要であれば Matlab または Octave のディレクトリを指定します。

11. Complete the operation:[編集]

(12. の誤記でしょうが、GMT本家でそうなっているのでここでも11としておきます)

インストール終了後の動作を指定します。デフォルトでかまいませんが、“Delete all archives upon sucessful installation”にチェックを入れれば、インストール後にソースコードや海岸線データの圧縮ファイルが削除されます。“Run all example scripts (assumes scripts tar archive was chosen above)”のチェックは外さず、サンプル画像を作成しておいた方がよいでしょう。

使い方[編集]

まずは Tutorial を読んでみるのがいいでしょう。より詳しい説明は Technical Reference and Cookbook などにあります。これらは GMT をインストールしたディレクトリの share/doc/gmt/pdf ディレクトリ下にあります。インストールする前に読んでみたいというのであれば、以下のページからダウンロードしましょう。

英語はちょっと、という方には、

がとても有用でしょう。また、ver.3.* についてのものですが、

も参考になります。

また、日本語のメーリングリストもあります。

もっと手軽に (1)[編集]

Mac とは関係ありませんが,旧 GEOMAR (ドイツの海洋科学研究機関) の Web サイトには GMT で地図を作る CGI が設置されており、GMT をインストールせずに試してみることができました.

ただし上記の CGI は,もう GEOMAR のサイト内に存在しないようです.代わりに

  • planiglobe(ベクター地図を生成してくれるサイト)

へのリンクが示されます.

もっと手軽に (2)[編集]

iGMT という tcl/tk を利用した GMT のフロントエンドがあるそうです.又聞きですが,Mac OS X でも動いているそうです.

Wiki内の関連ページ[編集]