Skip to content

Expose per-leg wait times and vehicle ride times in expanded_travel_time matrix() function #558

@philipknirsch

Description

@philipknirsch

The breakdown = TRUE output of expanded_travel_time_matrix() gives data on access_time, wait_time, ride_time, transfer_time, egress_time, routes, n_rides and total_time. Some of these metrics represent collapsed per-leg information into summed metrics (e.g total wait time and total ride time). This is sufficient for some applications, but loses valuable information in the context of activity-based travel demand modelling, for which we are currently trialing r5r.

Specifically, I would like to propose exposing:

  • Per-leg wait times. The time spent waiting at each "transit stop" before boarding. Alternatively a derived split into initial wait (waiting at the transit stop before boarding the first bus/rail/tram etc.) vs. transfer wait (all subsequent wait times) would also be valuable information
  • Per-leg in-vehicle (ride) times: The time spent on each individual route. Alternatively a breakdown by "mode". So if I define BUS and RAIL as valid routing alternatives, then for each routing I would like to know the ride time on the/all busses and the ride time on the/all trains.

Happy to look further into how to implement this. In our specific case this would make r5r a very good alternative to commercial software to create the skims for our travel behaviour model (i.e. ActivitySim). Any sophisticated mode choice utility specification will however require a more detailed breakdown of the time related impedance metric between OD zones. We have also trialed the detailed_intiraries() function, but have found it to be prohibitively computationally expensive for large OD matrix calculation.

One extra note:
I think it would be valuable if you would more concretely document what the metrics represent. Especially "transfer_time" can be quite ambiguous if this refers to time spent walking (as I understand it does) or waiting (for the next bus to arrive) or the sum of both.

Thanks for maintaining r5r!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions