#maptoolsデモ(Macintosh版）
#群馬県市町村65歳以上高齢者比率（2006年）主題図（コロプレス図）描画
#pdf("/GISdata/maptoolsdemoMac.pdf",family="Japan1")
library(maptools)
#ESRI全日本市区町村ShapeFile読み込み
jpn <- read.shape("/GISdata/japan_ver61.shp") #ShapeFile=>MapObject
#DBFデータの取り出し
jpndata <- jpn$att.data
## shift-jis => utf-8 変換
PREF2<-iconv(jpn$att.data$PREF,"shift-jis","utf-8")
CITY3<-iconv(jpn$att.data$CITY1,"shift-jis","utf-8")
jpndata<-cbind(jpndata,PREF2)
jpndata<-cbind(jpndata,CITY3)
#描画用ポリゴンデータの取り出し
#polylistオブジェクトに変換
#polylistにしていないとポリゴンの塗りわけができないため
jpnpoly <- Map2poly(jpn,region.id=attr(jpn,"region.id"))
#市町村中心点取得
jpnxy <- get.Pcent(jpn)
#群馬県の抽出
gunmadata <- subset(jpndata,jpndata$PREF2=="群馬県")
gunmapoly <- subset(jpnpoly,jpndata$PREF2=="群馬県")
#群馬県市町村中心点取得
#市町村名プロット用
x <- subset(jpnxy[,1],jpndata$PREF2=="群馬県")
y <- subset(jpnxy[,2],jpndata$PREF2=="群馬県")
#群馬県市町村65歳以上高齢者比率データ読み込み
aged <- read.delim("/GISdata/agedprop2.txt")
#DBFデータに高齢者比率データをマージ（JCODEをキーにして）
gunmadata <- merge(aged,gunmadata,sort=F,by="JCODE")
#凡例用データ作成
DD <- gunmadata$AP2006
cutnum<-16
classes <- cut(DD,seq(min(DD),max(DD),length=cutnum+1),include.lowest=T)
cols <- rev(heat.colors(cutnum))
cols2 <- heat.colors(cutnum)
#地図描画
par(cex=0.9)
plot(gunmapoly,col=cols[classes],xlab="",ylab="",axes=F,)
box()
#市町村名プロット
text(x+0.0002,y-0.0002,as.character(gunmadata$CITY3),cex=0.7,pos=1,offset=0,col="white")
text(x,y,as.character(gunmadata$CITY3),cex=0.7,pos=1,offset=0,col="black")
#凡例
legend(max(x)-1.1*(max(x)-min(x)),min(y)+1.37*(max(y)-min(y)),
legend=names(rev(table(classes))),cex=0.7,fill=cols2,text.col='black')
#タイトル
title("群馬県市町村65歳以上高齢者比率（2006年）","出典/参考：中澤港「Rによる保健医療データ解析演習」, http://phi.ypu.jp/msb/")
#dev.off()
