mapviewパッケージによるインタラクティブな作図

leaflet::leaflet() で基本図の設定を行ったうえで、 mapview::garnishMap()関数を用いることにより様々な図を 重ねていくことができる。

最後にaddLayersControl()により、レイヤーの構成を調整することができる。

library(mapview)
library(sf)

nc <- st_read(system.file("shape/nc.shp", package = "sf"))
nc1 <- nc[1:50, ]
nc2 <- nc[51:100, ]
m_base <- 
  leaflet((options =leafletOptions(crs = leafletCRS(code="EPSG:4267"))) %>% 
  addTiles(group = "base") %>% 
  addProviderTiles(provider = "Stamen.TonerHybrid", group = "base_steman")

m <- garnishMap(m_base, addPolygons, data = as(nc2, "Spatial"), 
                weight = 2, group = "nc2")
m <- garnishMap(m, addPolygons, data = as(nc1, "Spatial"), 
                weight = 2, group = "nc2")

m <- addLayersControl(m, 
                      baseGroups = c("base", "base_steman"), 
                      overlayGroups = c("nc1", "nc2"))
m

f:id:jerrarrdan:20170423084755p:plain