Function to calculate the shortest travel times from a stop (given by stop_name) to all other stops of a feed. filtered_stop_times needs to be created before with filter_stop_times().

travel_times(filtered_stop_times, stop_name, time_range = 3600,
  arrival = FALSE, max_transfers = NULL, max_departure_time = NULL,
  return_coords = FALSE, return_DT = FALSE)

Arguments

filtered_stop_times

stop_times data.table (with transfers and stops tables as attributes) created with filter_stop_times() where the departure or arrival time has been set.

stop_name

Stop name for which travel times should be calculated. A vector with multiple names is accepted.

time_range

All departures within this range in seconds after the first departure of filtered_stop_times are considered for journeys. If arrival is TRUE, all journeys arriving within time range before the latest arrival of filtered_stop_times are considered.

arrival

If FALSE (default), all journeys start from stop_name. If TRUE, all journeys end at stop_name.

max_transfers

The maximimum number of transfers

max_departure_time

Either set this parameter or time_range. Only departures before max_departure_time are used. Accepts "HH:MM:SS" or seconds as a numerical value. Unused if arrival is TRUE.

return_coords

Returns stop coordinates as columms. Default is FALSE.

return_DT

travel_times() returns a data.table if TRUE. Default is FALSE which returns a tibble/tbl_df.

Value

A table with travel times to/from all stops reachable by stop_name and their corresponding journey departure and arrival times.

Details

This function allows easier access to raptor() by using stop names instead of ids and returning shortest travel times by default.

Examples

nyc_path <- system.file("extdata", "google_transit_nyc_subway.zip", package = "tidytransit") nyc <- read_gtfs(nyc_path) # Use journeys departing after 7 AM with arrival time before 9 AM on 26th June stop_times <- filter_stop_times(nyc, "2018-06-26", 7*3600, 9*3600)
#> Consider using set_date_service_table beforehand if you filter this feed multiple times
tts <- travel_times(stop_times, "34 St - Herald Sq", return_coords = TRUE) tts <- tts %>% filter(travel_time <= 3600) # travel time to Queensboro Plaza is 810 seconds, 13:30 minutes tts %>% filter(to_stop_name == "Queensboro Plaza") %>% dplyr::pull(travel_time) %>% hms::hms()
#> 00:13:30
# plot a simple map showing travel times to all reachable stops # this can be expanded to isochron maps library(ggplot2)
#> Warning: package ‘ggplot2’ was built under R version 3.5.2
ggplot(tts) + geom_point(aes(x=to_stop_lon, y=to_stop_lat, color = travel_time))