Я хотел бы задать вопрос: я использовал приведенный ниже код, чтобы найти кратчайший путь между одной точкой и другой, используя файл точек в формате шейп-файла. Я смог вставить маршрут и график на карту с помощью пакета osrm. Маршрут проложен и просматривается OpenStreetMap, как вы можете видеть во вложении. Однако у меня есть еще один шейп-файл, который представляет собой просто шоссе и содержит альтернативные дороги, которых нет в OpeenStreetMap.
Итак, можно ли каким-то образом вставить эти альтернативные дороги в OpenStreetMap? Если нет, вы можете указать альтернативы тому, что я могу сделать, так как я хочу нанести этот кратчайший путь на карту, однако OP не имеет всех возможных дорог.
library(sf)
library(osrm)
library(cartography)
shp<-read_sf("point_UTM.shp")
shp<-st_transform(shp,4326) #
#shortest path between 9 and 15
dr<-osrmRoute(shp[9,],shp[15,], returnclass = "sf")
plot(st_geometry(dr))
#create route for map
route <- osrmRoute(src = shp[9,], dst = shp[15,],
overview = "full", returnclass = "sf")
#Map view
osm <- getTiles(x = route, crop = TRUE, type = "osm", zoom = 13)
tilesLayer(osm)
# add map route
tilesLayer(osm)
plot(st_geometry(route), lwd = 4, add = TRUE)
plot(st_geometry(route), lwd = 1, col = "white", add = TRUE)
plot(st_geometry(shp[c(9,15),]), pch = 20, col = "red", add = TRUE)
Большое спасибо!