
An R tool to assist bus lane prioritization using GTFS and OSM data
GonΓ§alo Matos, Rosa FΓ©lix, Filipe Moura

Limit impacts of congestion
(Cesme et al. 2018)
Reducing travel time variability
(Surprenant-Legault and El-Geneidy 2011)
Increase commercial speed
(Basso et al. 2011)
Other modes can loose
quality of service
(Arasan and Vedagiri 2010)
Potential to jeopardize
public acceptance
(Batty, Palacin, and GonzΓ‘lez-Gil 2014)

Bus frequency π
Number of lanes π£οΈ
Traffic conditions π
Network continuity π




![]()

![]()

GTFShift::get_route_frequency_hourly
![]()
GTFShift::get_route_frequency_hourly(overline=TRUE)

GTFShift::get_route_frequency_hourly(overline=TRUE)


GTFShift::get_route_frequency_hourly
![]()
GTFShift::osm_shapes_match_routes
![]()
GTFShift::get_way_frequency_hourly

osmdata::opq
![]()
GTFShift::osm_bus_lanes

GTFShift::rt_collect
![]()
sf::st_buffer
![]()
GTFShift::rt_extend_prioritization

GTFShift::get_way_frequency_hourly
osmdata::opq
GTFShift::osm_bus_lanes
GTFShift::rt_extend_prioritization




π¦ Open source R package
π Comprehensive framework for bus lane prioritization
π Provides methods for the analysis of each individual dimension
π Enables aggregated analysis with one simple method


π Enables aggregated analysis with one simple method
library(GTFShift)
gtfs = GTFShift::load_feed("https://gateway.carris.pt/gateway/gtfs/api/v2.8/GTFS")
osm_q = opq(bbox=sf::st_bbox(tidytransit::shapes_as_sf(gtfs$shapes))) |>
add_osm_feature(key = "route", value = c("bus", "tram")) |>
add_osm_feature(key = "network", value = "Carris", key_exact = TRUE)
# Bus frequency π, Number of lanes π£οΈ, Network continuity π
lanes = GTFShift::prioritize_lanes(gtfs, osm_q)
rt_collection = read.csv("rt_collect_file.csv") |>
sf::st_as_sf(coords = c("vehicle.position.longitude", "vehicle.position.latitude"), crs = 4326)
# Traffic conditions π
lanes = GTFShift::rt_extend_prioritization(
lane_prioritization = lanes,
rt_collection = rt_collection
)
Carris, Lisbon
Lisbon Metropolitan Area
Carris + Carris Metropolitana
Lisbon Metropolitan Area
Carris + Carris Metropolitana


Interactive dashboard to disseminate results
Keep contributing to OSM
Extend methods to evaluate operational performance
Apply methodology to international case studies
Write a paper



GonΓ§alo Matos, Rosa FΓ©lix, Filipe Moura

GonΓ§alo Matos