[]Rで地図を描く

Rでリスクマップなんかを作りたいとき、(頑張れば)地図を描くことができます。

だけどRの地図関連は更新が激しくて、以前使えた関数が使えなくなることが多いです。

RjpwikiにはここRmapパッケージが紹介されていますが、今は使えません。

なので去年の12月にmaptoolsパッケージでプログラムを作っていたのですが、今回実行してみたら、なんと使えなくなっていました(ショック!><)。

また試行錯誤して関数を見つけたところ、spsurveyパッケージを使うと何とか実行出来ました。

ですが地図を描く場合は、まずshpファイルシェープファイル)が必要になります。

これは日本のGISのページからダウンロードできます(私が以前ダウンロードしたときとURLが変わったようですので、申し訳ないですが詳細URLは探してくださいorz)。

頑張ってプログラムが実行できれば、このような地図が描けます。

f:id:isseing333:20100614193735j:image

シェープファイルは全世界のものもありますので、いろいろ試してみて下さい(google earthとRも連動しているようですが、まだやり方が分からないです)。

今回のコードはこちら↓

#------Rjpwiki(http://www.okada.jp.org/RWiki/?Rmap%A4%F2%BB%C8%A4%C3%A4%BF%C3%CF%BF%DE%C9%BD%BC%A8)
#------http://www.esrij.com/からシェープファイルダウンロードする

setwd("D:/R地図")	#shpファイルのある親ディレクトリ
library(spsurvey)
jpn <- read.shape("japan_shape/japan_ver52.shp")	#数分かかる
plot(jpn)
as.data.frame(jpn)

KenName <- "北海道"
KenPoly <- jpn[jpn$PREF == KenName, ]
plot(KenPoly)


#------Global Administrative Areasのシェープファイル
#---県単位の地図
jpn.GA <- read.shape("japan_shape/JPN_adm1.shp")	#数分かかる
plot(jpn.GA, xlim=c(128, 146), ylim=c(30, 45), f=grey(c(1:47)/47))


#------日本地図
#---色を塗りたい県のフラグ
flag_ken=c(1,0,0,0,0,0,1,1,0,0,0,1,0,1,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,1,1,1,1,
	0,0,0,0,0,0,0,1,0,0,0,1,0,0)
par(mar=c(0,0,0,0))
plot(jpn.GA, xlim=c(128, 146), ylim=c(30, 45), col=flag_ken*8, 
	xlab="", ylab="")	#色をグレーにするために8を掛けている
points(141, 38, lwd=20, col="red")		#石巻市の緯度と経度

ページTOPへ