GMTお絵かき講座


GMTとは何か?

 GMT(Generic Mapping Tool)は地図やグラフを描くことができる、ハワイ大学が開発したソフトウェアです。GMTで描いた図の一例を下に示しました。これらの図はわずか数行のコマンドで描かれているのです(驚きです)。

GMTの最大の特徴としては、ただ単に地図や折れ線グラフを書くだけでなく、、、
  • コンター図を書くことができる。
  • 地図の上に点を打ったり、地図の上にグラフを重ねることができる。
  • 複数のグラフを一枚の図に一度に出力できる
といった点が挙げられます。ExcelやSurferでもグラフやコンター図を描くことはできますが、このような複雑なグラフを作ることは難しいでしょう。
 GMTを使うときには”UNIX”と”シェルスクリプト”は欠かせません。UNIXは多数のファイル操作コマンドを有するOSで、いまやWindowsやMacといったパソコン上でも軽快に動作します。シェルスクリプトはExcelのマクロなどに似ており、コマンドの自動処理化に役立ちます。GMTとシェルスクリプトを組み合わせれば、自作プログラムで計算した結果を、即座に図化することも可能です。


こんなグラフも描けますよ!


Cygwinのインストール

 まず初めに、GMTを使う際に必要なUNIX環境を、Windowsパソコン上に構築しましょう。実はUNIXがなくても、GMT単体をWindows上で使用することは可能なのですが、GMTはUNIXと組み合わせて初めて真価を発揮します。WindowsパソコンにUNIXを導入する方法は大きく分けて2種類です。
  1. UbuntsuなどのLinuxをインストールする
  2. CygwinなどのUNIXエミュレータをインストールする
1のほうが一般的です。しかしこの場合、パソコンにはWindowsとLinuxの2つのOSが共存することになり、両方を使用できる環境を構築しないといけません(デュアルブート)。2の場合はその必要はありません。CygwinはWindowsシステム上で動作するUNIXエミュレーションソフトの一つで、フリーソフトウェアです。Cygwinをパソコンにインストールすれば、UNIX環境を使えるようになります。ここでは後者の場合で説明します。

※なお下記は2009年当時(Windows XP)のものです。最新のWindows OSに対応できていない場合があります。ネット検索などで最新情報を調べておいてください。

 Cygwinのインストール方法は下記関連URLのサイトに詳しいです。他にもたくさんCygwinの紹介をしているサイトはあります。参考にしてみてください。(ここではCygwinのインストールの詳細紹介は省略いたします)
http://www2.ktokai-u.ac.jp/~kfuji/cygwin/cygwin.htm

 インストール時に注意すべき点は「すべての機能」をインストールしてください。標準インストールでは、GMT起動時に必要なX11もインストールされませんし、GMTと組み合わせて使うことが多いFortram(f77)もインストールされません。
 UNIX上では「シェル(Shell)」と呼ばれるウィンドウ上でコマンドを実行します。いくつか種類がありますが、ここでは”tcsh”を用いることにします。標準シェルである”bash”でもかまいませんが、以下のPATHの定義方法などが異なります。Cygwin上でtcshを利用できるようにするもっとも単純な方法は以下です。
  • エディターで「xterm -sb -e /usr/bin/tcsh」というコマンドだけのシェルスクリプトを作る。名前を「xt」としておき、実行権限を与えておく(chmod 755 xt)。ファイルxtはホームディレクトリに置いておく。
  • Cygwinを起動→Xウィンドウを起動(startxwin)→bashのウィンドウが立ち上がるので、そこで「./xt &」として、xtを実行するとtcshウィンドウが起動する。

GMTのインストール

 いよいよGMTをインストールします。GMTのインストールには「install_gmt」というGMTインストール用のシェルスクリプトがあります。これを実行すると、必要なファイルのダウンロード・展開・コンパイルがすべて自動で実行されます。
(例: http://www5.plala.or.jp/kashima/gmt/gmt_install_linux.html

ただFTPがうまくいかなかったり、コンパイルがうまくいかない場合もあるようです。一方で、GMTのオフィシャルサイトにはすでにWin32版(Windows用に既にコンパイルされているもの)が用意されています。これらをインストールすれば楽です。
  • GMTサイトへ行きます(http://gmt.soest.hawaii.edu/)。
    ここにGMTの図の例(Example)やマニュアル(Docs)がたくさんあります。
  • MIRRORSをクリック→Tokai U, Shimizu, JapanのFTPサイトのアドレスをメモリます。
    (たぶん ftp.scc.u-tokai.ac.jp)
  • 東海大学のFTPサイトへ接続します。loginは「anonymous」、passwordは各自のメールアドレスを入力します。接続先の初期フォルダは「/pub/gmt/」です。
    ※FTP用ソフトとしてFFFTPを推奨します。京都大学内からのFTP接続も可能です。
  • 接続できたら、まずnetcdf.zipというファイルをダウンロードします。デスクトップなどに「GMTダウンロード」などというフォルダを作成して、そこへダウンロードします。
  • 次に「3」というフォルダを開きます。GMT ver.3をインストールします。必要なのは下記の*zipファイルです(13個)。
    GMT_exe.zip, GMT_full.zip, GMT_high.zip, GMT_man.zip, GMT_pdf.zip,
    GMT_progs.zip, GMT_ps.zip, GMT_scripts.zip, GMT_share.zip, GMT_suppl.zip,
    GMT_suppl_exe.zip, GMT_tut.zip, GMT_web.zip
    ※「4」のフォルダにあるGMT ver.4を同様にインストールしてみましたが、
     私の環境ではエラーが出てしまいました。一応、図は描けるのですが…?
    ※「windows」というフォルダがあり、そこからもファイルをダウンロードできますが、
     お奨めしません。GMT4.3.0_basic_install.exe等を用いてインストールしても、
     c:\GMT以外にインストールするとエラーになること、UNIX用マニュアルファイルが
     インストールされないことが理由です。
  • ダウンロード後の*.zipファイルをすべて解凍します。ファイルは「GMT」と「netcdf」へ解凍されるはずです(下図)。そうならない場合は解凍ソフトの設定を確認してみてください。

  • 解凍したファイルをCygwinのフォルダーへ移動します。
  • 「GMT」のフォルダー名は「/usr/local/gmt」にします。 ※小文字にしてください。
    また「netcdf」は「usr/local/netCDF/」へ移動します。
  • /usr/local/netCDF/netcdf.dllを/usr/local/gmt/binにもコピーします。
    こうしないと動かないようです。
    (参考:http://home.hiroshima-u.ac.jp/kojiok/wingmt/gmtsetup.html
  • cygwin.batを書き換えます。
    特にGMTHOME、GMTLIBDIR、GMT_GRDDIR、netCDF、pathといった環境変数を書き換えます。私のcygwin.batを参考のため記します。以下は下記サイトを参考にしました。
    http://blog.goo.ne.jp/mushipan3/e/ed0ca401d029134608f6e6053015c235
    ----(ここから)----
    @echo off

    C:
    chdir C:\cygwin\bin

    SET MAKE_MODE=unix
    rem
    set GMTHOME=c:\\cygwin\\usr\\local\\gmt
    set GMTLIBDIR=c:\\cygwin\\usr\\local\\gmt\\share
    set GMT_GRDDIR=c:\\cygwin\\usr\\local\\gmt\\share\\dbase
    rem
    set netCDF=c:\\cygwin\\usr\\local\\netCDF
    rem
    set HOME=c:\\cygwin\\home\\tgoto
    rem
    SET PATH=c:\\cygwin\\bin;c:\\cygwin\\usr\\local\\bin;%PATH%
    rem
    set path=c:\\cygwin\\home\\;%path%
    rem
    set path=c:\\cygwin\\usr\\local\\gmt\\bin;%path%
    set path=c:\\cygwin\\usr\\local\\gmt\\share;%path%
    rem
    set path=c:\\cygwin\\usr\\local\\netCDF\\bin;%path%
    set path=c:\\cygwin\\usr\\local\\netCDF\\lib;%path%
    rem
    set path=c:\\cygwin\\usr\\local\\ghostgum\\gsview;%path%

    tcsh -l
    ----(ここまで)----
  • ここで一つ注意。tcshの設定ファイルである「.tcshrc」にはGMTへのPATHを含まないようにしてください。こうしないと次のようなエラーが出ます。
    例: /cygdrive/c/GMT\share\***  がありません。
  • これでCygwinとGMTのインストールは終わりです。Cygwin上で、tcshウィンドウを立ち上げて、そこで「psxy」と入力して、以下のようなエラーメッセージが表示されれば、インストールはうまくいっていると思います。

    [tgoto@geta /home/tgoto/gmt] > psxy
    psxy 3.4.6 - Plot lines, polygons, and symbols on maps
    usage: psxy <infiles> -J<params> -R<west/east/south/north> [-A] [-B<tickinfo>]
     [-C<cpt>] [-E[x|y|X|Y][cap][/<pen>]] [-G<fill>] [-H[<nrec>]] [-K] [-L] [-M<flag>] [-N]
     [-O] [-P] [-S[<symbol>][<size>]] [-U[<label>]] [-V] [-W[<pen>]] [-c<ncopies>]
     [-X<x_shift>] [-Y<y_shift>] [-:] [-bi[s][<n>]]
    <infiles> is one or more files. If no, read
          :
        (以下略)
  • その他、GMTダウンロードの詳細などはこちらのサイトでも詳しく解説されています。
    http://homepage2.nifty.com/kerota/GMT_1.htm
    http://homepage2.nifty.com/kerota/GMT_2.htm
    http://homepage2.nifty.com/kerota/GMT_3.htm
    http://www.kobiwa.net/gmt/
  • 下記ではUNIXコマンドの一覧などもあわせて紹介されています。
    http://dyna.geo.kyushu-u.ac.jp/~yoshioka/Download/H18TEXT_REV.doc
  • 以下のサイトでは京大内部でのインストール方法が書かれています。
    http://ssrs.dpri.kyoto-u.ac.jp/~mizkey/gmt_inst.html
    ただftp関係でうまくいかないかもしれません。あらかじめnetcdfをダウンロード
    しておいてください。

つづく…