Learn R Programming

stplanr (version 0.1.4)

dist_google: Return travel network distances and time using the Google Maps API

Description

Return travel network distances and time using the Google Maps API

Usage

dist_google(from, to, google_api = Sys.getenv("GOOGLEDIST"), g_units = "metric", mode = "bicycling", arrival_time = "")

Arguments

from
Text string or coordinates (a numeric vector of length = 2 representing latitude and longitude) representing a point on Earth.
to
Text string or coordinates (a numeric vector of length = 2 representing latitude and longitude) representing a point on Earth. This represents the destination of the trip.
google_api
String value containing the Google API key to use.
g_units
Text string, either metric (default) or imperial.
mode
Text string specifying the mode of transport. Can be bicycling (default), walking, driving or transit
arrival_time
Time of arrival in date format.

Details

Estimate travel times accounting for the road network - see https://developers.google.com/maps/documentation/distance-matrix/ Note: Currently returns the json object returned by the Google Maps API and uses the same origins and destinations.

Examples

Run this code
## Not run: 
#  # Distances from one origin to one destination
#  dist_google(from = c(0, 52), to = c(0, 53))
#  data("cents")
#  # Distances from between all origins and destinations
#  dists_cycle = dist_google(from = cents, to = cents)
#  dists_drive = dist_google(cents, cents, mode = "driving")
#  dists_trans = dist_google(cents, cents, mode = "transit")
#  dists_trans_am = dist_google(cents, cents, mode = "transit",
#   arrival_time = strptime("2016-05-27 09:00:00",
#    format = "%Y-%m-%d %H:%M:%S", tz = "BST"))
#  # Find out how much longer (or shorter) cycling takes than walking
#  summary(dists_cycle$duration / dists_trans$duration)
#  # Difference between travelling now and for 9am arrival
#  summary(dists_trans_am$duration / dists_trans$duration)
#  odf = points2odf(cents)
#  odf = cbind(odf, dists)
#  head(odf)
#  flow = points2flow(cents)
#  # show the results for duration (thicker line = shorter)
#  plot(flow, lwd = mean(odf$duration) / odf$duration)
#  dist_google(c("Hereford"), c("Weobley", "Leominster", "Kington"))
#  dist_google(c("Hereford"), c("Weobley", "Leominster", "Kington"),
#   mode = "transit", arrival_time = strptime("2016-05-27 17:30:00",
#   format = "%Y-%m-%d %H:%M:%S", tz = "BST"))
# ## End(Not run)

Run the code above in your browser using DataLab