災害時の避難所におけるトイレの環境をビッグデータとICTを利用して改善するための提案の1つとして、平成28(2016)年の熊本地震で特に被害の大きかった南阿蘇市を例に、分析を行い、そのデータや結果について視覚化した。
データ分析には、統計解析環境であるR言語および、地図に描画するためのパッケージであるleaflet等を用いた。
> library(rgdal)
> library(leaflet)
> library(classInt)
> library(RColorBrewer)
> library(knitr)
南阿蘇村における避難所・避難場所および収容人数等については、国土交通省の「」(現在サーバーが落ちている)を、南阿蘇村における実際の避難の状況については南阿蘇村ホームページの平成28年熊本地震に関する情報のうち「避難者数について(最新版)」を用いた(http://www.vill.minamiaso.lg.jp/site/28kumamotozisinn/h28nenhinannsyozyouhou.html)。
> k1<- readOGR("shp/P20-12_43.shp", layer = "P20-12_43")
OGR data source with driver: ESRI Shapefile
Source: "shp/P20-12_43.shp", layer: "P20-12_43"
with 1969 features
It has 17 fields
熊本県のデータから、南阿蘇村だけを抽出し、必要な変数だけを選別した。
> ad1 <- unique(k1@data$P20_003)
> ad2 <- ad1[grep("(南阿蘇)", ad1)]
> k2 <- subset(k1, subset = (k1@data$P20_003 %in% ad2) )
> k3 <- data.frame(name = k2@data$P20_002,
+ address = k2@data$P20_003,
+ lat = k2@data$緯度,
+ long = k2@data$経度,
+ type = k2@data$P20_004,
+ seat = k2@data$P20_005)
緯度・経度の中央値より中心を決め、避難所・避難場所を描画した。 なお、このデータでは、南阿蘇村はすべて避難所で、収容人数は0。
> k3.lat.m <- median(with(k3,lat))
> k3.long.m <- median(with(k3,long))
> leaflet(k3)%>%setView(lng=k3.long.m,lat=k3.lat.m,zoom=12) %>% addTiles() %>% addMarkers(lng=~long,lat=~lat)
南阿蘇村のホームページより避難所データを抽出(現在鋭意実行中)している。 ひとまず、2016年4月16日時点のデータを抽出した。ただし、「旧河陰小学校跡」と「岸野下公園」については、詳細の場所が不明である。
> m1 <- read.csv("minamiaso20160416u.csv",na.strings="")
> m1 <- m1[-which(is.na(m1$add)),]
> kable(m1)
| ID | name | add | lat | long | flg | X04.16.08 | X04.16.10 | X04.16.16 | X04.16.19 | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 久木野福祉センター | 熊本県阿蘇郡南阿蘇村大字久石2705 | 32.82039 | 131.0361 | 1 | 80 | NA | 250 | 300 |
| 2 | 2 | 久木野総合センター | 熊本県阿蘇郡南阿蘇村大字河陰151-1 | 32.82248 | 131.0314 | 1 | NA | NA | 12 | 46 |
| 3 | 3 | 久木野小学校体育館 | 熊本県阿蘇郡南阿蘇村大字河陰130 | 32.81970 | 131.0310 | 0 | NA | NA | NA | NA |
| 5 | 5 | 堀渡公民館 | 熊本県阿蘇郡南阿蘇村大字河陰3759-3 | 32.83860 | 131.0042 | 1 | NA | 40 | 30 | 0 |
| 7 | 7 | 岸野公民館 | 熊本県阿蘇郡南阿蘇村大字河陰3869 | 32.83689 | 131.0059 | 1 | NA | NA | NA | NA |
| 8 | 8 | 9駐在区公民館 | 熊本県阿蘇郡南阿蘇村大字河陰3401 | 32.84607 | 131.0015 | 0 | NA | 80 | NA | 0 |
| 9 | 9 | あそ望の郷くぎの | 熊本県阿蘇郡南阿蘇村大字久石2807 | 32.81875 | 131.0415 | 0 | NA | NA | 100 | 80 |
| 10 | 10 | 白水体育館 | 熊本県阿蘇郡南阿蘇村大字吉田1007-1 | 32.82723 | 131.0718 | 1 | 64 | 80 | 70 | 60 |
| 11 | 11 | 白水保健センター | 熊本県阿蘇郡南阿蘇村大字吉田1495 | 32.82553 | 131.0817 | 1 | NA | 150 | 280 | 230 |
| 12 | 12 | 白水小体育館 | 熊本県阿蘇郡南阿蘇村大字吉田1499 | 32.82665 | 131.0812 | 1 | NA | NA | NA | NA |
| 13 | 13 | 福祉センター | 熊本県阿蘇郡南阿蘇村大字吉田565-1 | 32.81996 | 131.0715 | 1 | NA | NA | 20 | 20 |
| 14 | 14 | 中松1区公民館 | 熊本県阿蘇郡南阿蘇村大字中松268-3 | 32.82827 | 131.0525 | 1 | NA | 23 | 20 | 10 |
| 15 | 15 | 中松2区公民館 | 熊本県阿蘇郡南阿蘇村大字中松594-1 | 32.83120 | 131.0436 | 1 | NA | NA | NA | NA |
| 16 | 16 | 白水高原駅 | 熊本県阿蘇郡南阿蘇村大字中松 | 32.83424 | 131.0403 | 0 | NA | 8 | 10 | NA |
| 17 | 17 | 塩井社神社 | 熊本県阿蘇郡南阿蘇村大字中松1655 | 32.84461 | 131.0381 | 0 | NA | 50 | 60 | NA |
| 18 | 18 | 南阿蘇中体育館 | 熊本県阿蘇郡南阿蘇村大字河陽3645 | 32.85744 | 131.0014 | 0 | NA | 300 | 500 | 500 |
| 19 | 19 | 南阿蘇西小体育館 | 熊本県阿蘇郡南阿蘇村大字河陽2999-2 | 32.84960 | 131.0115 | 1 | NA | 120 | 130 | 120 |
| 20 | 20 | 東海大学体育館・西部小体育館 | 熊本県阿蘇郡南阿蘇村大字河陽4964 | 32.88597 | 130.9938 | 1 | NA | 470 | 540 | 430 |
| 21 | 21 | 旧立野小体育館 | 熊本県阿蘇郡南阿蘇村大字立野1596 | 32.87788 | 130.9677 | 1 | 200 | 500 | 350 | 350 |
| 22 | 22 | 下野公民館 | 熊本県阿蘇郡南阿蘇村大字下野647-1 | 32.90534 | 130.9946 | 1 | NA | 20 | 20 | 20 |
| 23 | 23 | 黒川 | 熊本県阿蘇郡南阿蘇村大字河陽5109-2 | 32.88449 | 130.9942 | 1 | NA | NA | NA | NA |
| 24 | 24 | 栃木公民館 | 熊本県阿蘇郡南阿蘇村大字河陽4109-3 | 32.86742 | 130.9959 | 1 | NA | 50 | 80 | NA |
| 25 | 25 | ローソン、アーデン、下野 | 熊本県阿蘇郡南阿蘇村下野字山田147-25 | 32.90237 | 130.9907 | 0 | NA | 180 | 100 | 60 |
| 26 | 26 | 高森中体育館 | 熊本県阿蘇郡高森町大字高森1955 | 32.82253 | 131.1247 | 0 | NA | NA | NA | 87 |
> leaflet(m1)%>%setView(lng=k3.long.m,lat=k3.lat.m,zoom=12) %>%
+ addTiles() %>% addCircles(radius = ~X04.16.08*3, weight=1, color="#FF0000",
+ fillColor = "#FF0000", fillOpacity=0.7, popup = ~paste(name,"<BR>","推計人数: ",X04.16.08,"人",sep=""))
> leaflet(m1)%>%setView(lng=k3.long.m,lat=k3.lat.m,zoom=12) %>%
+ addTiles() %>% addCircles(radius = ~X04.16.10*3, weight=1, color="#FF0000",
+ fillColor = "#FF0000", fillOpacity=0.7, popup = ~paste(name,"<BR>","推計人数: ",X04.16.10,"人",sep=""))
> leaflet(m1)%>%setView(lng=k3.long.m,lat=k3.lat.m,zoom=12) %>%
+ addTiles() %>% addCircles(radius = ~X04.16.16*3, weight=1, color="#FF0000",
+ fillColor = "#FF0000", fillOpacity=0.7, popup = ~paste(name,"<BR>","推計人数: ",X04.16.16,"人",sep=""))
> leaflet(m1)%>%setView(lng=k3.long.m,lat=k3.lat.m,zoom=12) %>%
+ addTiles() %>% addCircles(radius = ~X04.16.19*3, weight=1, color="#FF0000",
+ fillColor = "#FF0000", fillOpacity=0.7, popup = ~paste(name,"<BR>","推計人数: ",X04.16.19,"人",sep=""))