Agregue segmentos de color a la ubicación en un mapa plot utilizando las coordenadas de latitud y longitud en R.
Mi conjunto de datos tiene 4 columnas que son “station_name”, “station_lat”, “station_lng” y “count”. Este es un ejemplo de mi conjunto de datos.
start_stations <- data.frame(
station = c("StreeterDr", "MichiganAve", "WellsSt"),
lat = c(41.89228, 41.90096, 41.91213),
lng = c(-87.61204,-87.62378,-87.63466),
n = c(23000, 56780, 34520)
)
Necesito trazar un mapa utilizando estas coordenadas y variaciones de color para las estaciones (ubicaciones) de acuerdo con su cantidad y etiquetar cada ubicación usando el nombre y la cantidad. Intenté este código y ocurrió un error.
install.packages(c("leaflet", "sp"))
library(leaflet)
library(sp)
install.packages("sf")
library(sf)
lon <- start_stations$lng
lat <- start_stations$lat
name <- start_stations$station
count <- start_stations$n
dfs <- as.data.frame(cbind(lon,lat,name,count))
dfs<- st_as_sf(dfs)
getColor <- function(dfs) {
sapply(dfs$count, function(count) {
if(count <= 20000) {
"green"
} else if(count <= 30000) {
"orange"
} else {
"red"
} })
}
icons <- awesomeIcons(
icon = 'ios-close',
iconColor = 'black',
library = 'ion',
markerColor = getColor(top100_start_station_cordinates)
)
leaflet(dfs) %>% addTiles() %>%
addAwesomeMarkers(~lon, ~lat, icon=icons, popup = ~as.character(name), label=~as.character(count))
davy.ai
Hay un error en el código en esta línea:
top100_start_station_cordinates
no está definido en el código, en su lugar debería serdfs
, que es el dataframe que se ha creado.El código corregido es:
Este código creará un mapa con marcadores coloreados en función del recuento, y etiquetados con los nombres y recuentos de la estación.