Map mit verschiedenfarbigen Markern mittels leaflet

Wie erweitere ich R um eigene Funktionen oder Pakete? Welches Paket ist passend für meine Fragestellung?

Moderatoren: EDi, jogo

Antworten
foena1988
Beiträge: 21
Registriert: Mo Okt 23, 2017 8:30 am

Map mit verschiedenfarbigen Markern mittels leaflet

Beitrag von foena1988 »

Liebes Forum,

Ich würde gerne mittels leaflet eine Map erstellen, wo vordefinierte Koordinaten mit Markern versehen sind. Ich habe alle Koordinaten in einer Excel-Datei gespeichert. In Spalte B ist die longitudinale Position, in Spalte C die laterale Position angeben (damit es etwas überschaubarer ist habe ich die Spalten Nord und Ost benannt).

Code: Alles auswählen

library(leaflet)
library("xlsx")
data = read.xlsx("Visualisierung.xlsx", sheetName = "Tabelle1")
my_map <- leaflet() %>% addTiles() 
my_map <- my_map %>% addMarkers(lat=data$Nord, lng= data$Ost,label = as.character(data$Name), popup=data$Name)
my_map
Ich habe in meiner Exceldatei zusätzlich noch eine Spalte "Farbe". Es sind dort die Einträge "Rot", "Grün" und "Blau" vorhanden.

Ich würde nun gerne anhand des jeweiligen Wertes in der Spalte "Farbe" die dargestellte Farbe der Marker in leaflet ändern.

Kann mir diesbezüglich vielleicht jemand helfen, wie ich das in R umsetzen kann?

Danke für eure Unterstützung,

Mfg
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Map mit verschiedenfarbigen Markern mittels leaflet

Beitrag von EDi »

So hier? Siehe auch https://rstudio.github.io/leaflet/markers.html

Mangels eines reproduzierbaren Beispiels anahnd von Beispieldaten.

Code: Alles auswählen

require(leaflet)

# some example data
df <- data.frame(lat = c(0,10, 20), 
                 lon = c(0,1,2), 
                 col = c("rot", "blau", "pink"), 
                 label = c("a", "b", "c"),
                 stringsAsFactors = FALSE)


convert_col <- function(df) {
  unname(sapply(df$col, function(col) {
    switch(col,
           rot = "red",
           blau = "blue",
           "orange")
  }))
}
convert_col(df)

icons <- awesomeIcons(
  icon = 'ios-close',
  iconColor = 'black',
  library = 'ion',
  markerColor = convert_col(df)
)
icons

leaflet() %>% 
  addTiles() %>%
  addAwesomeMarkers(lat = df$lat, 
             lng = df$lon, 
             icon = icons)
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
foena1988
Beiträge: 21
Registriert: Mo Okt 23, 2017 8:30 am

Re: Map mit verschiedenfarbigen Markern mittels leaflet

Beitrag von foena1988 »

Wunderbar, spitze! Genau danach habe ich gesucht.

Vielen Dank! GLG
Antworten