Learn R Programming

GTFSwizard (version 1.1.0)

get_durations: Calculate Trip Durations in GTFS Data

Description

The `get_durations` function calculates trip durations within a `wizardgtfs` object using different methods. Depending on the selected `method`, it can provide average durations per route, durations for individual trips, or detailed segment durations between stops.

Usage

get_durations(gtfs, method = "by.route", trips = "all")

Value

A data frame containing trip durations based on the specified method:

If `method = "by.route"`

It includes dwell times. Returns a summary data frame with columns: `route_id`, `trips`, `average.duration`, `service_pattern`, and `pattern_frequency`.

If `method = "by.trip"`

It includes dwell times. Returns a data frame with columns: `route_id`, `trip_id`, `duration`, `service_pattern`, and `pattern_frequency`.

If `method = "detailed"`

It does not include dwell times. Returns a data frame with columns: `route_id`, `trip_id`, `hour`, `from_stop_id`, `to_stop_id`, `duration`, `service_pattern`, and `pattern_frequency`.

Arguments

gtfs

A GTFS object, ideally of class `wizardgtfs`. If not, it will be converted.

method

A character string specifying the calculation method. Options include:

"by.route"

Calculates the average duration for each route.

"by.trip"

Calculates the total duration for each trip.

"detailed"`

Calculates detailed durations for each stop-to-stop segment within a trip.

trips

A character vector of trip IDs to consider. When set to `all`, includes all trips.

Details

This function calls specific sub-functions based on the selected method:

- "by.route": Calculates average durations for each route.

- "by.trip": Calculates the total duration of each trip.

- "detailed": Calculates detailed durations between consecutive stops within each trip, excluding dwell times.

If an invalid `method` is specified, the function defaults to `"by.route"` and provides a warning.

See Also

[GTFSwizard::as_wizardgtfs()], [GTFSwizard::get_servicepattern()]

Examples

Run this code
# Calculate average route durations
durations_by_route <- get_durations(gtfs = for_rail_gtfs, method = "by.route", trips = 'all')

# Calculate trip durations
durations_by_trip <- get_durations(gtfs = for_rail_gtfs, method = "by.trip", trips = 'all')

# Calculate detailed durations between stops
detailed_durations <- get_durations(gtfs = for_rail_gtfs, method = "detailed", trips = 'all')

Run the code above in your browser using DataLab