過去: 地図にレイヤーを重ねるところをggmap()でやっており、インタラクティブ性が皆無だった
現在: まずはインタラクティブにプロットするところから、ちょっと試してみよう(イマココ)
カーネル密度推定を用いた店舗情報の可視化: http://www.slideshare.net/KanetakaHeshiki/kde4-mcdonalds
How to overlay point density (ggplot2) on OSM tile in R?: http://stackoverflow.com/questions/22850570/how-to-overlay-point-density-ggplot2-on-osm-tile-in-r
Rで密度推定@『どんな鳥も』: http://d.hatena.ne.jp/tsutatsutatsuta/20120928/1348801089
suppressPackageStartupMessages(library(shiny))
suppressPackageStartupMessages(library(stringr))
suppressPackageStartupMessages(library(data.table))
suppressPackageStartupMessages(library(dplyr))
suppressPackageStartupMessages(library(rMaps))
suppressPackageStartupMessages(library(munsell))
## サークルを描画させるgeo_jsonを出力する関数定義(塗りつぶす色を変えられるが、今回は未使用)
MakeCircle <- function(longitude, latitude, fill.color) {
return(
lapply(seq(length(longitude)), function(i) {
return(
list(type = "Feature",
properties = list(
color = "black",
fillColor = mnsl(sprintf("5PB %d/10", fill.color[i]), fix = TRUE)
),
geometry = list(
type = "Point", coordinates = c(longitude[i], latitude[i])
)
)
)
})
)
}
## データ整形用定数設定
kSetHeaderName <- c("大分類", "小分類", "名称", "所在地", "緯度", "経度", "電話番号")
kSetAlpHeaderName <- c("category1", "category2", "name", "address", "latitude", "longitude", "tel")
kSetColorColName <- c("category2")
## データ入力
# 流山市オープンデータトライアルからデータ(公共施設所在地(公園))を取得
# http://www.city.nagareyama.chiba.jp/10763/index.html
parks <- data.table::fread(
input = "./data/shisetsu_kouen.csv", sep = ",", header = TRUE,
select = kSetHeaderName
) %>% as.data.frame()
# 列の名前属性を日本語からアルファベットに変える
colnames(parks) <- kSetAlpHeaderName
RMAPS: http://rmaps.github.io/
Leaflet: http://leafletjs.com/
提供データの測地系がわからなかったので、日本測地系から世界測地系に変換してみるが世界測地系で正しい気がする
parks %>% filter(str_detect(name, "平和台")) %>% select(-category1, -category2, -tel) %>%
mutate(
wsj_lat = latitude - (0.00010695 * latitude) + (0.000017464 * longitude) + 0.0046017,
wsj_lon = longitude - (0.000046038 * latitude) - (0.000083043 * longitude) + 0.010040
)
name address latitude longitude wsj_lat
1 平和台1号公園 流山市平和台5-40 35.86 139.9 35.86
2 平和台2号公園 流山市平和台2-12 35.85 139.9 35.86
3 平和台3号公園 流山市平和台1-4 35.86 139.9 35.86
4 平和台4号公園 流山市平和台5-60 35.86 139.9 35.86
5 平和台5号公園 流山市平和台5-733 35.86 139.9 35.86
6 平和台6号公園 流山市平和台4-1640-37 35.85 139.9 35.86
7 平和台7号公園 流山市平和台4-230 35.85 139.9 35.86
8 平和台8号公園 流山市平和台4-230 35.85 139.9 35.86
9 平和台1号緑地 流山市平和台1-2-1 35.86 139.9 35.86
10 平和台緑道 流山市西平井字谷新田1-15 35.85 139.9 35.85
wsj_lon
1 139.9
2 139.9
3 139.9
4 139.9
5 139.9
6 139.9
7 139.9
8 139.9
9 139.9
10 139.9