Calculates a matrix of M:N, M:1 or 1:N route summaries between given points of interest (POIs) using the HERE 'Matrix Routing' API. Various transport modes and traffic information at a provided timestamp are supported. The requested matrix is split into (sub-)matrices of dimension 15x100 to use the maximum matrix size per request and thereby minimize the number of overall needed requests. The result is one route summary matrix, that fits the order of the provided POIs: orig_id, dest_id.

route_matrix(
  origin,
  destination = origin,
  datetime = Sys.time(),
  routing_mode = "fast",
  transport_mode = "car",
  traffic = TRUE,
  url_only = FALSE
)

Arguments

origin

sf object, the origin locations (M) of geometry type POINT.

destination

sf object, the destination locations (N) of geometry type POINT.

datetime

POSIXct object, datetime for the departure.

routing_mode

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

transport_mode

character, set the transport mode: "car", "truck", "pedestrian", "bicycle", "scooter", "taxi", "bus" or "privateBus" (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.

url_only

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

Value

A data.frame, which is an edge list containing the requested M:N route combinations.

Examples

# Provide an API Key for a HERE project
set_key("<YOUR API KEY>")

# Create routes summaries between all POIs
mat <- route_matrix(
  origin = poi,
  url_only = TRUE
)