Interfaz entre R y el servicio de enrutamiento basado en OpenStreetMap OSRM

Una interfaz entre R y la API de OSRM

OSRM es un servicio de enrutamiento basado en datos de OpenStreetMap. Consulte http://project-osrm.org/ para obtener más información. Este paquete permite calcular distancias (tiempo de viaje y distancia kilométrica) entre puntos y matrices de tiempo de viaje.

Instalación de los paquetes

install.packages(“remotes”)
remotes::install_github(“rCarto/osrm”)
install.packages(“osrmr”)
install.packages(“leaflet”)
install.packages(“rgdal”)

library(osrmr)
library(osrm)
library(leaflet)
library(rgdal)

Creación del objeto espacial con los diferentes tiempos de llegada según distancia

iso <- osrmIsochrone(loc = c(-70.641283,-33.486507), breaks = seq(from = 0,to = 40, by = 5),res = 20) 
iso@data$drive_times <- factor(paste(iso@data$min, "a", iso@data$max, "min"))
factpal <- colorFactor(rev(heat.colors(5)), iso@data$drive_times )

Mapa con la librería leaflet

leaflet() %>% 
  setView(-70.641283,-33.4865077, zoom = 9) %>% #Zoom a la capa
  addProviderTiles("CartoDB.Positron", group="Greyscale") %>% #Capa de fondo 
  addMarkers(-70.641283,-33.4865077, popup = "Servicio de Salud Metropolitano Sur") %>% #Marca el punto con un marcador
  addPolygons(fill=TRUE, stroke=TRUE, color = "black",
              fillColor = ~factpal(iso@data$drive_times),
              weight=0.2, fillOpacity=0.5,
              data = iso, popup = iso@data$drive_times,
              group = "Drive Time") %>% #Agrega el poligono que deseaos incorprar 
 addLegend("bottomright", pal = factpal, values = iso@data$drive_time,   title = "Tiempo de manejo") %>% #Legenda del mapa
 leafem::addLogo(img, position = "topleft",width=100,height=160) #agregar una imageno logo