Return an optimized route for a series of input coordinates
Usage
mb_optimized_route(
input_data,
profile = c("driving", "walking", "cycling", "driving-traffic"),
output = "sf",
source = c("any", "first"),
destination = c("any", "last"),
roundtrip = TRUE,
annotations = NULL,
approaches = NULL,
bearings = NULL,
distributions = NULL,
language = NULL,
overview = "simplified",
radiuses = NULL,
steps = NULL,
access_token = NULL
)
Arguments
- input_data
An input dataset of class
"sf"
, or a list of coordinate pairs of formatc(longitude, latitude)
. Must be between 2 and 12 coordinate pairs.- profile
One of "driving" (the default), "driving-traffic", "walking", or "cycling".
- output
One of "sf" (the default), which returns an
sf
LINESTRING representing the route geometry, or "full", which returns the full request from the Directions API as a list.- source
One of
"any"
(the default) or"first"
. If "any" is specified, any of the input coordinates may be used as the starting point. If "first" is specified, the first coordinate will be used.- destination
One of
"any"
(the default) or"last"
. If "any" is specified, any of the input coordinates may be used as the ending point. If "last" is specified, the last coordinate will be used.- roundtrip
If
TRUE
(the default), the route will start and end at the same point.roundtrip = FALSE
only works whensource
is"first"
anddestination
is"last"
. IfFALSE
is supplied here, the route will start at the first point ininput_data
and end at the last point.- annotations
A comma-separated string of additional route metadata, which may include duration, distance, speed, and congestion. Must be used with
overview = "full"
.- approaches
A character string with semicolon-separated specifications for how to approach waypoints. Options include
unrestricted
andcurb
. Defaults to NULL which usesunrestricted
for all waypoints.- bearings
A semicolon-delimited character string of bearings.
- distributions
A semicolon-delimited character string of number pairs that specifies pick-up and drop-off locations. The first number indicates the index of the pick-up location, and the second number represents the index of the drop-off location.
- language
The language of the returned instructions (defaults to English). Available language codes are found at https://docs.mapbox.com/api/navigation/#instructions-languages. Only available when
steps = TRUE
.- overview
If left blank, defaults to
'simplified'
for simplified geometry; the other option is'full'
which provides the most detailed geometry available.- radiuses
A character string with semicolon-separated radii that specify the distance (in meters) to snap each input coordinate to the road network. Defaults to
NULL
.- steps
If
TRUE
, returns the route object split up into route legs with step-by-step instructions included. IfFALSE
orNULL
(the default), a single line geometry representing the full route will be returned.- access_token
Your Mapbox access token; which can be set with
mb_access_token()
Value
Either a list of two sf
objects - one representing the waypoints, and one representing the route - or an R list representing the full optimization API response.
Examples
if (FALSE) { # \dontrun{
library(mapboxapi)
library(sf)
to_visit <- data.frame(
X = c(-0.209307, -0.185875, -0.216877, -0.233511, -0.234541),
Y = c(5.556019, 5.58031, 5.582528, 5.566771, 5.550209)
) %>%
st_as_sf(coords = c("X", "Y"), crs = 4326)
optimized_route <- mb_optimized_route(to_visit,
profile = "driving-traffic"
)
} # }