Takes origins and destinations, finds the optimal routes between them and returns the result as a spatial (sf or sp) object. The definition of optimal depends on the routing function used

route(
  from = NULL,
  to = NULL,
  l = NULL,
  route_fun = cyclestreets::journey,
  n_print = 10,
  list_output = FALSE,
  cl = NULL,
  ...
)

Arguments

from

An object representing origins (if lines are provided as the first argument, from is assigned to l)

to

An object representing destinations

l

Only needed if from and to are empty, in which case this should be a spatial object representing desire lines

route_fun

A routing function to be used for converting the straight lines to routes od2line()

n_print

A number specifying how frequently progress updates should be shown

list_output

If FALSE (default) assumes spatial (linestring) object output. Set to TRUE to save output as a list.

cl

Cluster

...

Arguments passed to the routing function, e.g. route_cyclestreets()

See also

Examples

#> Data: (c) OpenStreetMap contributors, ODbL 1.0 - http://www.openstreetmap.org/copyright
#> Routing: OSRM - http://project-osrm.org/
r_osrm <- route( from = c(-0.11, 51.514), to = c(-0.10, 51.506), route_fun = osrmRoute, returnclass = "sf" )
#> Most common output is sf
r <- overline(routes_fast_sf[2:5, ], "length") l <- od2line(od_data_sample[2:5, 1:3], cents_sf) sln <- stplanr::SpatialLinesNetwork(r) # calculate shortest paths plot(sln)
plot(l$geometry, add = TRUE)
r_local <- stplanr::route( l = l, route_fun = stplanr::route_local, sln = sln )
#> Most common output is sf
library(sf) # for plotting plot(r_local["all"], add = TRUE, lwd = 5)