- 追加された行はこの色です。
- 削除された行はこの色です。
|このページについて|
''概要'':このページでは、統計言語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/]]