|このページについて|
''概要'':このページでは、統計言語Rを用いた地図作成の方法に関する情報を蓄積します(ご使用は自己責任でお願いします).

''親ページ'':このページの親ページは[[R]]です。

//Topページのサイトマップの適切な位置に、このページへのリンクを貼ってください。

//出来れば、あなたの名前(ハンドルネーム歓迎)、ページをつくった日、更新履歴などをかいてください。

|目次|

#contents
----

*plot関数を用いた地図作成 [#i2380fca]

以下,plot関数を用いた地図作成の備忘録として記す(論文で地図を作成する必要があったため).

**シェープファイルのダウンロード [#n1889917]
まずは,以下の手順で作図に必要なシェープファイルをダウンロードしましょう.
まずは,以下の手順で作図に必要なシェープファイルをダウンロードする.
+[[Natural Earth:http://www.naturalearthdata.com/]]にアクセスして,Download -> Large scale data, 1:10m -> Physical -> Land -> Download landの順にクリックする.
+"ne_10m_land.zip"というzipファイルがダウンロードされるので,zipファイルを解凍する(解凍されるとフォルダ内に7つのファイルが出現する).
+Rを起動して,解凍したフォルダのパスをsetwd()に入力しておく(7つのファイルが存在しなければ以下の作業ができません).

 setwd(/Users/HOME/Downloads/ne_10m_land) # 野田はMacを使用しておりますので,ダウンロードフォルダの直下にファイルを展開しています(Windowsユーザーは適宜変更して下さい).

**シェープファイルの読み込み [#t8de990b]
次に,Rにシェープファイルの読み込ませましょう.
次に,Rにシェープファイルの読み込ませる.
 install.packages("maptools", dependencies=TRUE) # maptoolsパッケージのインストール
 library(maptools) # maptoolsパッケージの読み込み
 world <- readShapePoly("ne_10m_land.shp") #シェープファイルの読み込み(7つのファイルが揃っていないとエラーとなるので注意して下さい)
 world <- readShapePoly("ne_10m_land.shp") # シェープファイルの読み込み(7つのファイルが揃っていないとエラーが出るので注意して下さい)

**日本近辺の地図の表示 [#bb020efe]
さらに,表示する地図の位置を特定する.
 lonlim = c(120,150)   # 経度を設定する(日本近辺は東経120〜150度)
 latlim = c(22,48)   # 緯度を設定する(日本近辺は北緯22〜48度)
 plot(world, xlim=lonlim, ylim=latlim, axes=TRUE, xlab="Longitude", ylab="Latitude") # worldのうち,東経120〜150度かつ北緯22〜48度の部分を表示する
 plot(world, xlim=lonlim, ylim=latlim, axes=TRUE, xlab="Longitude", ylab="Latitude") # worldのうち,東経120〜150度,かつ北緯22〜48度の部分を表示する

**地点の表示と地名入力 [#p15e11ea]
地点を表示すると同時に地名を入力するための手順を以下に示す.
+表示したい地点の緯度経度を[[ここ:http://www.benricho.org/chimei/get_LatLon/]]で調べる(緯度経度は通常60進数であるので,Rで認識する10進数の緯度経度を調べなければならない).
+point関数で地点に"点"をつけ,segments関数を用いて適当な位置まで線を引く.
+text関数を用いてsegments関数を用いて引いた線の先に地名を入力する.

まずは,東京を入力してみる.
 points(139.69167, 35.68944, pch=20) # 東京都の地点(ここでは都庁のある新宿区)
 segments(139.69167, 35.68944, 142.69167, 37.68944, lwd=1, col="black") # 適当な位置まで線を引く
 text(143.79167, 37.68944, labels="Tokyo", cex=0.75) # "Tokyo"と入力する
さらに,大阪を入力してみる.
 points(135.52, 34.68639, pch=20) # 大阪府の地点(ここでは大阪市)
 segments(135.52, 34.68639, 136.52, 32.68639, lwd=1, col="black") # 適当な位置まで線を引く
 text(136.52, 32.18639, labels="Osaka", cex=0.75) # "Osaka"と入力する

**出力結果の出力と保存 [#d2104725]
**出力結果の出力 [#d2104725]
以下のような地図が作成される.
#ref(tokyo_osaka_map.jpg,left,nowrap,50%,添付ファイルの画像)

 jpeg("tokyo_osaka_map.jpeg")
 dev.off()
*ggplot2関数を用いた地図作成 [#oeba268f]

(以下,適宜改訂していく)

[[Rの基本グラフィックス機能またはggplot2を使って地図を描くには:http://sudillap.hatenablog.com/entry/2013/03/26/210202]]

による解説が有用だと思われる.

*Rmapを用いた地図作成 [#q8ab4ba6]

本家[[RjpWiki:http://www.okadajp.org/RWiki/]]の[[Rmapを使った地図表示:http://www.okadajp.org/RWiki/?Rmap%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%9F%E5%9C%B0%E5%9B%B3%E8%A1%A8%E7%A4%BA]]が非常に参考になる.

*Reference [#b2dfc061]

-[[Rで日本近辺地図を描くメモ:http://qiita.com/ShingoOikawa/items/93d9913dfe2f48f9e6ba]]
-[[緯度経度を調べる(10進数 & 60進数):http://www.benricho.org/chimei/get_LatLon/]]



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS