使用 R + Shiny + rCharts 產生動態的 Leaflet 地圖

2014-04-22 OSM-TW Webinar

使用 R + Shiny + rCharts 產生動態的 Leaflet 地圖

Department of Nuclear Medicine, Kaohsiung Veterans General Hospital
Sin-di Lee

Background picture: Stamen / Map data: OSM and its contributors

動機

有些政府的資料是地理資訊 (例如 CityBike station和...),我想要畫成地圖 (Leaflet, OpenLayers...)。

從上次 Rex 的分享,我們可以知道收集到地理資訊,可以透過 leaflet.js 呈現。

今天會用到一些 R 套件

主要的功能

色譜

  • scales

資料 reshape

  • plyr

R -> Leaflet

我們試試看範例資料,欄位:"X", "clinicRef", "clinicName", "clinicAddr", "groupRef", "groupName","lon", "lat"

cList <- read.csv("cList.csv")

leafletR

s.dat <- toGeoJSON(data=cList, lat.lon=c("lat", "lon"))
s.sty <- styleCat(prop="groupName",val=grouplist, style.val= hue_pal()(length(grouplist)))
s.map <- leaflet(data=s.dat, style=s.sty, base.map = c("osm", "cm", "mqosm"), popup="clinicRef")
browseURL(s.map)

leafletR - Step by step

後來改用 rCharts 的原因

rCharts

Code 比較長一點,為了方便,寫 code 時定義下列幾個 function:

官方的文件非常不完整...

rCharts 可以吃的List

Shiny

Demo *3

Thank You

Fork me on Github