Releases: U-Shift/GTFShift
GTFShift 0.8.3
What's Changed
- #62 osm_shapes_match_routes error feedback improved by @gmatosferreira
- #62 osm_shapes_match_routes result data.frame extended with additional gtfs metadata by @gmatosferreira
- #71 GTFS download methods updated to support headers by @gmatosferreira
- #59 method to get prioritization stats by @gmatosferreira
- #67 prioritize_lanes typo fix when accounting for parking lanes by @gmatosferreira
- #38 #25 prioritize_lanes avoiding duplicate overpass api call for bus lanes by @gmatosferreira
- #70 global refactoring to make st_length agnostic of geometry column names by @gmatosferreira
- #27 refactored vignette for OSM update, deprecating oauth as it does not work anymore and using user/password instead @gmatosferreira
Full Changelog: v0.8.2...v0.8.3
GTFShift 0.8.2
What's Changed
- #51 Global minor improvements to prepare GTFShift web dashboard release https://github.com/U-Shift/GTFShift-web/releases/tag/v1.0
Full Changelog: v0.8.1...v0.8.2
GTFShift 0.8.1
What's Changed
- #62
osm_shapes_match_routes()improved to return partial matches when more shapes than osm routes by @gmatosferreira in #63 - #67
prioritize_lanes()improved to consider parking lanes when characterizing infrastructure by @gmatosferreira in #68
Full Changelog: v0.8.0...v0.8.1
GTFShift 0.8.0
Package consolidation as a public policy decision-making support tool.
What's Changed
- #34 Methods documentation improved by @gmatosferreira in #44
- #49 Using fork repository for GTFSwizard dependency to overcome CRAN removal (temporary, should be fixed in next version) by @gmatosferreira in #50
- #32
get_network_extension()method created to compute network extension by @gmatosferreira in #48 - #33
get_way_frequency_hourly()method created to get frequencies aggregated per OSM way andquery_osm_shapes_to_routes()extended with parameter that allows to get routes geometries disaggregated by OSM ways @gmatosferreira in #54 - #35
osm_shapes_match_routes()adapted to to support partial string match, in which all words in gtfs_match must be in osm_match, ignoring case, to overcome scenarios with partial match @gmatosferreira in #53 - #46
classify_frequency_los()method implemented to classify bus services frequency based on HCM by @gmatosferreira in #55 - #43
get_stop_frequency_hourly()method improved to return frequencies for the whole GTFS time window, instead of fixed 6 to 23 interval by @gmatosferreira in #56 - #38
prioritize_lanes()method implemented to get the network that meets the public policy decision-making requirements @gmatosferreira in #58 - #45
rt_collect_json()andrt_collect_protobuf()methods implemented to collect GTFS-RT data to extend bus lane prioritization withrt_extend_prioritization()method and incorporate traffic dynamics in the analysis by @gmatosferreira in #60 - #51 Interactive dashboard implemented at https://ushift.pt/apps/gtfshift by @gmatosferreira
Full Changelog: v0.7.0...v0.8.0
| Network | Shapes matched | Routes matched | Shapes updated ¹ | Changeset |
|---|---|---|---|---|
| Carris Metropolitana (Lisbon MA, PT) | 1500 (91.80% of 1634) | 864 (91.24% of 947) | 1273 (84.86% of matched) | #178179592 |
¹ Of the matched shapes, only those that meet the criteria of
distance_diff<1000andstops_diff<500were considered for OSM update. Nevertheless, the OSM changeset might present a smaller number of changes, as only routes that did not have the GTFS data were updated.
GTFShift 0.7.0
What's Changed
- #1 readme by @temospena in #29
- #28 extend get route frequency hourly with parameter to use osm routes by @gmatosferreira in #30
- #34 first version consolidation by @gmatosferreira in #37
- #27 OSM shapes match routes algorithm improved to include stops on heuristic by @gmatosferreira in #36
Full Changelog: v0.6.0...v0.7.0
OSM updates arising from release
Refer to the asset files for logs and data generated for each city.
| Network | Shapes matched | Routes matched | Shapes updated ¹ | Changeset |
|---|---|---|---|---|
| Carris Metropolitana (Lisbon MA, PT) ² | 1409 (89.46% of 1575) | 818 (89.6% of 913) | 1090 (77.35% of matched) | #169825911 |
| Carris (Lisboa, PT) | 273 (87.94% of 307) | 155 (89.0% of 174) | 270 (98.9% of matched) | #169865775 |
| MobiCascais (Cascais, PT) | 95 (68.34% of 139 | 61 (64.89% of 94) | 69 (72.6% of matched) | #169871720 |
| STCP (Porto, PT) | 138 (97.18% of 142) | 71 (97.26% of 73) | 116 (84.1% of matched) | #169872825 |
| Metro Porto (Porto, PT) | 14 (100% of 14) | 7 (100% of 7) | 14 (100% matched) | #170201116 |
| Tisséo (Toulouse, FR) | 182 (66.18% of 275) | 82 (68.33% of 120) | 172 (94.5% of matched) | #169881101 |
| EMT (Madrid, ES) | 396 (85.34% of 464) | 197 (83.54% of 237) | 352 (88.89% of matched) | #170119764 |
| CP (Portugal) | 77 (30.31% of 254) | 75 (40.98% of 183) | 77 (100% of matched) | #177236090 |
¹ Of the matched shapes, only those that meet the criteria of
distance_diff<1000andstops_diff<500were updated on OSM.
² Carris Metropolitana match was performed for 19/06/2025 because of integrity problems with the current GTFS version (duplicated shapes for several routes).
GTFShift 0.6.0
What's Changed
- #21 remove simplified concept from network overline by @gmatosferreira in #22
- #23 integrate osm route mapping by @gmatosferreira in #24
- #25 improve bus lane OSM query by @gmatosferreira in #26
Full Changelog: v0.5.0...v0.6.0
OSM updates arising from release
- Defined
gtfs:shape_idattribute on 273 Carris routes #167527565
Despite matching all routes, OSM update covered only 88.6% of the operator routes (273 of 300), considering threshold for maximum route length difference of 500 meters and start/end points of 250 meters
Seeshapes_match_carris_frequency_hourly.gpkgfor complete network association
- Defined
gtfs:shape_idattribute on 97 MobiCascais routes #168180692
Despite matching all routes, OSM update covered only 69.7% of the operator routes (97 of 139), considering threshold for maximum route length difference of 1000 meters and start/end points of 500 meters
See shapes_match_cascais.gpkg for complete network association
- Defined
gtfs:shape_idattribute on 1132 Carris Metropolitana routes #168180923 and #168184391
Despite matching all routes, OSM update covered only 72.2% of the operator routes (1132 of 1569), considering threshold for maximum route length difference of 1000 meters and start/end points of 500 meters
See shapes_match_aml.gpkg for complete network association
GTFShift 0.5.0
-
Global improvements to existing methods:
- Refactoring parameter names and extending their API, to improve user customization power when using them.
- Improving error handling, to avoid unpredicted exceptions during run time.
-
New methods:
osm_centerlines, to get centerlines for OSM road network.calendar_nextBusinessWednesday, to get next business Wednesday.
-
Articles restructured and extended, with more examples for the new methods.
-
Website documentation website folder removed, to avoid unnecessary space, now allocated to a branch that is specific to the website generation pipeline.
What's Changed
- 2 create method to generate centerlines using python neatnet library by @gmatosferreira in #3
- #6 create example for query mobility database by @gmatosferreira in #7
- #4 load feed and create transfers by @gmatosferreira in #5
- #8 bus lanes and download gtfs data in separated vignettes by @gmatosferreira in #12
- 9 query mobilitydatabase accept refresh token also by @gmatosferreira in #13
- example for Lisbon an d cache downloads by @temospena in #15
- 10 filter by date by @gmatosferreira in #17
Full Changelog: 0.4...v0.5.0
0.4 - initial package
Full Changelog: https://github.com/U-Shift/GTFShift/commits/0.4