まえがき

カーネル密度マップ

データ処理部

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

Leafletを使って(rMapsパッケージを利用)プロット

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

あとがき