R_GMT

2012年3月26日 (月)

GMTのRインターフェースパッケージ

■gmt(GMTのRインターフェース)パッケージ
1) gmt: Interface between GMT Map-Making Software and R
http://cran.r-project.org/web/packages/gmt/index.html
2) Package 'gmt'
http://cran.r-project.org/web/packages/gmt/gmt.pdf

#サンプルの使用例
Package 'gmt'のExampleを実行する.
####
rm(list=ls(all=TRUE))
setwd("C:/rwork")
library(gmt)
## Not run:
# Draw map and save as "map.eps" in R working directory
gmt(demo.par)
pscoast(demo.coast)
psxy(demo.xy)
pstext(demo.text)
psbar(demo.bar, ref=66)
psclose()
# See directory gmt/example for details
## End(Not run)
####

作業ディレクトリにmap.epsが作られる.
↓ map.epsをGSviewで表示

●インストールしたgmtパッケージのディレクトリgmt/example内に
同様の作図を行う,GMTコードサンプル↓があります.
#!/bin/bash
file=map.eps
gmtdefaults -Ds > .gmtdefaults4
gmtset DEGREE_SYMBOL degree PAGE_ORIENTATION portrait PLOT_DEGREE_FORMAT F
pscoast -JM16c -R30W/15E/54N/70N -Di -G100/200/100 -B10f5g5/4f2g2 -K > $file
psxy tmp/xy.gmt -JM -R -Scp -W2p -O -K >> $file
pstext tmp/text.gmt -JM -R -O -K >> $file
psxy tmp/bar.gmt -JM -R -W1p -G180 -O -K -A -M >> $file
psxy tmp/empty.gmt -JM -R -O >> $file
rm .gmtcommands4 .gmtdefaults4

GMTコマンドの拡大が楽しみです.

●サンプルプログラムで使用するテキストファイル(text.gmt)とその内容
pstext tmp/text.gmt -JM -R -O -K >> $file で利用

# Lon    Lat    Size    Angle    Font    Justify    Text
22:30W    57:00N    12    33    21    CM    Label
17:30W    57:00N    24    0    29    CM    @~p@~r@+2
27:30W    59:00N    24    90    34    CM    \342
22:30W    59:00N    16    0    34    CM    \302\314\112
17:30W    59:00N    16    0    34    CT    \335\336
17:30W    59:00N    16    0    34    CB    \341\053

Lon 経度(longitude)
Lat 緯度(latitude)
@~p@~r@+2   
\342 などの説明は,GMTのDocumentにあるようです.

Portable Document Format (PDF) (サイズ約16.9MB) 【The GMT Home Page】
http://gmt.soest.hawaii.edu/gmt/pdf/GMT_Docs.pdf
の付録部に記載されています.下記にイメージ画像を掲載させていただきました.
PDFファイルで確認してください(p.183-185)
F. Chart of octal codes for characters


G. PostScript fonts used by GMT


●サンプルプログラムで使用するテキストファイル(xy.gmt)とその内容
psxy tmp/xy.gmt -JM -R -Scp -W2p -O -K >> $file  で利用

# Lon    Lat    Size
-29:00    56:30    3
-27:30    57:00    6
-26:00    57:30    9

-Scp:  circle. size is diameter of circle.単位はpoint で1point=1/72のようでしょうか.
なので,直径3,6,9pointの3つの円を描く.

※MEASURE_UNIT
Sets the unit length. Choose between cm, inch, m, and point. [cm]. Note that, in GMT, one point is defined as 1/72 inch (the PostScript definition), while it is often defined as 1/72.27 inch in the typesetting industry. There is no universal definition.

GMT
ftp://fy.cr.chiba-u.ac.jp/hayasaki/src/GMT4.4.0/share/doc/gmt/html/man/GMT.html
MEASURE_UNIT
ftp://fy.cr.chiba-u.ac.jp/hayasaki/src/GMT4.4.0/share/doc/gmt/html/man/gmtdefaults.html#MEASURE_UNIT

●サンプルプログラムで使用するテキストファイル(bar.gmt)とその内容
psxy tmp/bar.gmt -JM -R -W1p -G180 -O -K -A -M >> $file  で利用

# Lon    Lat
>
-12.75    58
-12.75    60.605712
-12.25    60.605712
-12.25    58
-12.75    58
>
-12.75    62
-12.75    64.3084794
-12.25    64.3084794
-12.25    62
-12.75    62
>
-12.75    66
-12.75    68
-12.25    68
-12.25    66
-12.75    66

3つの棒を描く(経度,緯度で座標を与えて棒を描く)

-12.75    58    【ここ】
-12.75    60.605712
-12.25    60.605712
-12.25    58
-12.75    58    【ここ】
棒(長方形)は閉じているので,【ここ】の座標は同じとする.

●サンプルプログラムで使用するテキストファイル(empty.gmt)とその内容
psxy tmp/empty.gmt -JM -R -O >> $file   で利用

ここで,,empty.gmtは空のファイルであるが,地図に追加する情報がある場合には処理データをファイルに記述することになる.


無料ブログはココログ
2017年2月
      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