千葉の地図をプロットしてみよう

こちらのウェブサイト の指示に従って、千葉県の地図データをダウンロードし、所定のディレクトリに保存しておきます。

千葉県の市町村行政界の地図は、次のようにしてプロットすることができます。

library(maptools)
library(ggplot2)

chiba <- readShapePoly("./map_tutor/chiba/chiba_city.shp")

map1 <- ggplot(chiba, aes(long, lat, group = group))
map1 <- map1 + geom_polygon(colour = "gray20", size = 0.2, fill = "white")
map1 <- map1 + coord_equal()


画面に地図を表示するには次のようにします。

plot(map1)

plot of chunk unnamed-chunk-2

千葉県には54の市町村があります(36市17町1村: 平成22年3月31日現在)。

chiba$CITY_ENG
##  [1] Chiba-shi             Choshi-shi            Ichikawa-shi         
##  [4] Funabashi-shi         Tateyama-shi          Kisarazu-shi         
##  [7] Matsudo-shi           Noda-shi              Mobara-shi           
## [10] Narita-shi            Sakura-shi            Togane-shi           
## [13] Asahi-shi             Narashino-shi         Kashiwa-shi          
## [16] Katsuura-shi          Ichihara-shi          Nagareyama-shi       
## [19] Yachiyo-shi           Abiko-shi             Kamogawa-shi         
## [22] Kamagaya-shi          Kimitsu-shi           Futtsu-shi           
## [25] Urayasu-shi           Yotsukaido-shi        Sodegaura-shi        
## [28] Yachimata-shi         Inzai-shi             Shiroi-shi           
## [31] Tomisato-shi          Minamiboso-shi        Sosa-shi             
## [34] Katori-shi            Sammu-shi             Isumi-shi            
## [37] Shisui-machi          Sakae-machi           Kozaki-machi         
## [40] Tako-machi            Tonosho-machi         Oamishirasato-machi  
## [43] Kujukuri-machi        Shibayama-machi       Yokoshibahikari-machi
## [46] Ichinomiya-machi      Mutsuzawa-machi       Chosei-mura          
## [49] Shirako-machi         Nagara-machi          Chonan-machi         
## [52] Otaki-machi           Onjuku-machi          Kyonan-machi         
## 54 Levels: Abiko-shi Asahi-shi Chiba-shi Chonan-machi ... Yotsukaido-shi

一例として、大多喜町(Otaki-machi)を赤く塗るスクリプトを以下に示します。

flag <- rep(FALSE, length(chiba))
flag[chiba$CITY_ENG == "Otaki-machi"] <- TRUE

df <- fortify(spCbind(chiba, flag), region = "flag")

map2 <- ggplot(df, aes(long, lat, group = group))
map2 <- map2 + geom_polygon(aes(fill = id))
map2 <- map2 + scale_fill_manual(values = c("white", "red"))
map2 <- map2 + geom_path(data = chiba, aes(long, lat, group = group), colour = "gray20", 
    size = I(0.1))
map2 <- map2 + coord_equal() + labs(x = "", y = "") + theme(axis.ticks = element_blank(), 
    axis.text = element_blank()) + theme(legend.position = "none")


プロットした地図を画面に表示してみましょう。

plot(map2)

plot of chunk unnamed-chunk-5