Calculates route geometries (LINESTRING) between given pairs of points using the HERE 'Routing' API. Routes can be created for various transport modes, as for example 'car' or 'bicycle', incorporating current traffic information, if available. For routes using the transport mode "car" a vehicle consumption model can be specified, to obtain an estimate of the consumption.

route(
  origin,
  destination,
  datetime = Sys.time(),
  arrival = FALSE,
  results = 1,
  routing_mode = "fast",
  transport_mode = "car",
  traffic = TRUE,
  consumption_model = NULL,
  url_only = FALSE,
  type,
  mode
)

Arguments

origin

sf object, the origin locations of geometry type POINT.

destination

sf object, the destination locations of geometry type POINT.

datetime

POSIXct object, datetime for the departure (or arrival if arrival = TRUE).

arrival

boolean, calculate routes for arrival at the defined time (default = FALSE)?

results

numeric, maximum number of suggested routes (Valid range: 1 and 7).

routing_mode

character, set the routing type: "fast" or "short" (default = "fast").

transport_mode

character, set the transport mode: "car", "truck", "pedestrian", "bicycle" or scooter (default = "car").

traffic

boolean, use real-time traffic or prediction in routing (default = TRUE)? If no traffic is selected, the datetime is set to "any" and the request is processed independently from time.

consumption_model

character, specify the consumption model of the vehicle, see consumption model for more information (default = NULL a average electric car is set).

url_only

boolean, only return the generated URLs (default = FALSE)?

type

character, 'type' is deprecated, use 'routing_mode' instead.

mode

character, 'mode' is deprecated, use 'transport_mode' instead.

Value

An sf object containing the requested routes.

References

HERE Routing API: Calculate Route

Examples

# Provide an API Key for a HERE project set_key("<YOUR API KEY>") # Get all from - to combinations from POIs to <- poi[rep(seq_len(nrow(poi)), nrow(poi)), ] from <- poi[rep(seq_len(nrow(poi)), each = nrow(poi)),] idx <- apply(to != from, any, MARGIN = 1) to <- to[idx, ] from <- from[idx, ] # Routing routes <- route( origin = from, destination = to, results = 3, transport_mode = "car", url_only = TRUE )