村上貴志 氏が公開している「全国基準地域メッシュデータ」
ファイル mesh05-jgd-01-shp.zip の生成
#!/bin/bash
cd /tmp
rm -f mesh05-jgd-01-shp.zip
cat mesh05-jgd-01-shp.0 mesh05-jgd-01-shp.1 mesh05-jgd-01-shp.2 > mesh05-jgd-01-shp.zip
解凍
#!/bin/bash
cd /tmp
for i in mesh05-jgd-*-shp.zip; do
echo $i
unzip $i
done
R の shapefiles パッケージを利用
#!/bin/bash
require(shapefiles)
cat >/tmp/a.$$.r <<-RCOMMAND
s <- read.shapefile("mesh05-jgd-47");
R では shapefiles, maptools, sp
---
maptools:シェープファイルを読み込みため
spsurvey:dbfファイル読み込みのため
ggplot2:地図を表示するため
RColorBrewer:地図の表示に適した色を使いたい場合。
JPN_adm0.shp:日本列島の全体地図
JPN_adm1.shp:都道府県地図
JPN_adm2.shp:市区町村地図
---
see http://sudillap.hatenablog.com/entry/2013/03/26/210202
Global Administrative Areasのシェープファイル
JPN_adm0.RData:日本列島の全体地図
JPN_adm1.RData:都道府県地図
JPN_adm2.RData:市区町村地図
require(maptoools)
load("JPN_adm1.RData")
plot(gadm)
require(RColorBrewer)
col <- sample(1:8,size=47,replace=TRUE) # 県ごとの色
plot(gadm, col=brewer.pal(8,"Accent")[col])
上の方で表示したdbfファイルのNAME_1カラムに県名が入っています
require(ggplot2)
require(maptools)
jpn <- readShapePoly("JPN_adm1.shp") # シェープファイルはカレントディレクトにあるとします
map <- fortify(jpn) # 日本全体
#map <- fortify(jpn[jpn$NAME_1=="Tokyo",]) # 東京都だけ表示したい場合
xlim <- c(128, 146) # 経度
ylim <- c(30, 46) # 緯度
col <- sample(1:8,size=47,replace=TRUE) # 県ごとの色
ggplot() + geom_polygon(aes(long,lat,group=group,fill=as.character(col[as.integer(id)+1])),color="black",data=map) +
coord_fixed(ratio=1) +
geom_point(aes(x=139.7036, y=35.69389),color="blue",size=10) +
geom_text(aes(x=139.7036, y=35.69389),label="新宿",hjust=-0.2,color="red",size=10) +
guides(col=FALSE, fill=FALSE) + xlim(xlim) + ylim(ylim) +
scale_fill_brewer(type="qual",palette="Accent")
plot(jpn[jpn$NAME_1=="Tokyo",]) # 東京都のデータだけを抽出。JPN_adm2.shpを読み込んでいるとします。
points(139.7036, 35.69389, lwd=20, col="red") # 新宿区役所の位置に打点
text(139.7036, 35.69389, "新宿", col="blue", adj = c(-0.3,0.5), cex=2) # 文字を表示