leaflet ile CBS haritaları

shinydashboard ile Panolar Oluşturma

Png Kee Seng

Researcher

Bir leaflet grafiğinin yapısı

  • İlk katman leaflet() olmalıdır
    • ggplot() gibidir
  • addTiles() dünya haritasını ekler
    • ggplot'taki x, y gibidir
  • Yeni katmanlar %>% ile eklenir
    • ggplot'taki + gibidir
library(leaflet)

m <- leaflet() %>%
addTiles()

Boş bir leaflet tuvali.

Dünya haritalı bir leaflet tuvali.

shinydashboard ile Panolar Oluşturma

Farklı harita sağlayıcıları

  • addProviderTiles() ekleyin
  • Bazı sağlayıcı örnekleri
    • MtbMap: Dağ bisikleti
    • Esri.NatGeoWorldMap: National Geo
    • Stamen.Toner: Siyah beyaz
m %>%
  addProviderTiles(providers$MtbMap)
m %>%
  addProviderTiles(providers$Esri.NatGeoWorldMap)
m %>% 
  addProviderTiles(providers$Stamen.Toner)

MtbMap sağlayıcılı Leaflet.

nat geo sağlayıcılı Leaflet.

stamen toner sağlayıcılı Leaflet.

1 https://rstudio.github.io/leaflet/basemaps.html
shinydashboard ile Panolar Oluşturma

leaflet'te çokgen ekleme

  • addPolygon() ile çokgen ekleyin
    • Ana argüman bir sf nesnesidir

leaflet'te bir çokgen ekleme.

leaflet() %>% 
  addTiles() %>% 

addPolygons(data=london_poly,
col="red",
label=~Name)
shinydashboard ile Panolar Oluşturma

leaflet'te polyline ekleme

  • Boylam ve enlem gerekir
    • $geometry[[1]] içinde
  • Çoklu çizgiler addPolylines() ile çizilir
    • Boylam ve enlem 1. ve 2. sütunlara karşılık gelir
loop_geo <- london_loop$geometry[[1]]

capital_geo <- london_capital$geometry[[1]]
m2 <- leaflet() %>% 
  addTiles() %>% 
  addPolygons(data = london_poly, col="red", 
                  label=~Name) %>% 

addPolylines(loop_geo[,1], loop_geo[,2]) %>% addPolylines(capital_geo[,1], capital_geo[,2], color = "orange")
shinydashboard ile Panolar Oluşturma

leaflet'te işaretçi ekleme

  • İşaretçi eklenebilir
    • addCircleMarkers(): her noktayı daire ile gösterir
    • addMarkers(): her noktayı normal işaretçi ile gösterir
m2 %>%
  addCircleMarkers(data = listings_geo,
                   label = ~name)
m2 %>%
  addMarkers(data = listings_geo,
                   label = ~name)

leaflet'te daire işaretçiler.

leaflet'te normal işaretçiler.

shinydashboard ile Panolar Oluşturma

markerClusterOptions

  • markerClusterOptions() eklenebilir
    • Kümelenmiş değerleri gösterir

Küme seçenekli işaretçiler.

m2 %>%
  addMarkers(data = listings_geo,

clusterOptions = markerClusterOptions())
shinydashboard ile Panolar Oluşturma

Kullanıcı seçimi

  • Kullanıcı girdileri için addLayersControl() katmanı ekleyin
  • baseGroups: Farklı harita sağlayıcıları arasında geçiş
    • Her sağlayıcı döşemesini etiketleyin
    • baseGroups'u bu etiketleri içeren bir vektör yapın
  • overlayGroups: Katmanları aç/kapat
    • Her katmanı etiketleyin
    • overlayGroups'u bu etiketleri içeren bir vektör yapın
m_london <- leaflet(london_poly) %>% 

addTiles(group="Default") %>% addProviderTiles(providers$Stamen.Toner,
group = "Toner") %>%
addProviderTiles(providers$Esri.NatGeoWorldMap,
group = "Nat Geo") %>%
addPolygons(col="red", label=~Name,
group = "Ward") %>%
addPolylines(loop_geo[,1], loop_geo[,2],
group = "London loop") %>%
addPolylines(capital_geo[,1], capital_geo[,2], labelOptions = labelOptions(noHide = TRUE), color = "orange",
group = "Capital ring", ) %>%
addMarkers(data = listings_geo, clusterOptions = markerClusterOptions(),
group = "Listings") %>%
addLayersControl(
baseGroups = c("Default", "Toner", "Nat Geo"),
overlayGroups = c("Ward","Listings", "London loop", "Capital loop"))
shinydashboard ile Panolar Oluşturma

Kullanıcı seçimi, çıktısı

Kullanıcı seçimi olan Leaflet haritası.

shinydashboard ile Panolar Oluşturma

Haydi pratik yapalım!

shinydashboard ile Panolar Oluşturma

Preparing Video For Download...