leaflet के साथ जियोस्पैशियल मैप्स

shinydashboard के साथ डैशबोर्ड बनाना

Png Kee Seng

Researcher

leaflet प्लॉट की संरचना

  • पहला लेयर leaflet() चाहिए
    • ggplot() जैसा
  • addTiles() वर्ल्ड मैप जोड़ता है
    • ggplot में x, y जैसा
  • नए लेयर %>% से जोड़ें
    • ggplot में + जैसा
library(leaflet)

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

एक खाली leaflet कैनवास.

वर्ल्ड मैप वाला leaflet कैनवास.

shinydashboard के साथ डैशबोर्ड बनाना

अलग-अलग मैप प्रोवाइडर

  • addProviderTiles() जोड़ें
  • कुछ प्रोवाइडर उदाहरण
    • MtbMap: माउंटेन बाइकिंग
    • Esri.NatGeoWorldMap: National Geo द्वारा
    • Stamen.Toner: ब्लैक एंड व्हाइट
m %>%
  addProviderTiles(providers$MtbMap)
m %>%
  addProviderTiles(providers$Esri.NatGeoWorldMap)
m %>% 
  addProviderTiles(providers$Stamen.Toner)

MtbMap प्रोवाइडर वाला Leaflet.

Nat Geo प्रोवाइडर वाला Leaflet.

Stamen Toner प्रोवाइडर वाला Leaflet.

1 https://rstudio.github.io/leaflet/basemaps.html
shinydashboard के साथ डैशबोर्ड बनाना

leaflet में पॉलिगन जोड़ना

  • addPolygon() से पॉलिगन जोड़ें
    • मुख्य आर्ग्युमेंट sf ऑब्जेक्ट है

leaflet में पॉलिगन जोड़ना.

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

addPolygons(data=london_poly,
col="red",
label=~Name)
shinydashboard के साथ डैशबोर्ड बनाना

leaflet में पॉलीलाइन्स जोड़ना

  • लॉन्गिट्यूड और लैटिट्यूड चाहिए
    • $geometry[[1]] में होते हैं
  • पॉलीलाइन्स addPolylines() से प्लॉट होती हैं
    • लॉन्गिट्यूड और लैटिट्यूड पहली और दूसरी कॉलम में होते हैं
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 के साथ डैशबोर्ड बनाना

leaflet में मार्कर्स जोड़ना

  • मार्कर्स जोड़ सकते हैं
    • addCircleMarkers(): हर पॉइंट को सर्कल से दिखाता है
    • addMarkers(): हर पॉइंट को रेगुलर मार्कर से दिखाता है
m2 %>%
  addCircleMarkers(data = listings_geo,
                   label = ~name)
m2 %>%
  addMarkers(data = listings_geo,
                   label = ~name)

leaflet में सर्कल मार्कर्स.

leaflet में रेगुलर मार्कर्स.

shinydashboard के साथ डैशबोर्ड बनाना

markerClusterOptions

  • markerClusterOptions() जोड़ा जा सकता है
    • यह एग्रीगेटेड वैल्यू दिखाता है

क्लस्टर ऑप्शंस वाले मार्कर्स.

m2 %>%
  addMarkers(data = listings_geo,

clusterOptions = markerClusterOptions())
shinydashboard के साथ डैशबोर्ड बनाना

यूज़र चयन

  • यूज़र इनपुट के लिए addLayersControl() लेयर जोड़ें
  • baseGroups: यूज़र अलग-अलग मैप प्रोवाइडर के बीच टॉगल कर सकें
    • हर प्रोवाइडर टाइल को लेबल दें
    • baseGroups में इन्हीं लेबल का वेक्टर सेट करें
  • overlayGroups: यूज़र लेयर ऑन/ऑफ कर सकें
    • हर लेयर को लेबल दें
    • overlayGroups में इन्हीं लेबल का वेक्टर सेट करें
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 के साथ डैशबोर्ड बनाना

यूज़र चयन, रेंडर किया गया

यूज़र चयन वाला Leaflet मैप.

shinydashboard के साथ डैशबोर्ड बनाना

अभ्यास करते हैं!

shinydashboard के साथ डैशबोर्ड बनाना

Preparing Video For Download...