implement route annotation
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 24
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
The routes.txt (see [reference](https://developers.google.com/transit/gtfs/reference/routes-file)) offers a lot of information for lines, which can even be augmented with information from the trips.txt (see [reference](https://developers.google.com/transit/gtfs/reference/trips-file) for headsigns).
We should allow access to this information in an annotation class. The annotation should allow requesting all stored information from routes.txt and trips.txt that is purely descriptive.
This tasks requires the implementation of a `line_annotator` class to be constructed in the master_service, adding all information from the routes.txt / trips.txt to be accessed from line_ids.
I would expect that remembering a trip-id for every line should simplify the efforts to:
- [ ] remember trip id for every line during creation of line_tables
- [ ] add annotation tool for lines
- [ ] implement mapping from `LineID` -> `TripID`
- [ ] construct internal mapping from `TripID` -> `RouteID`
- [ ] store appropriate information to be accessed via `RouteID` / `TripID`
The internal mappings should hide any translation from `LineID` into any other type to access the data but simply allow accessing headsigns, route names and descriptions from the `LineID` itself.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing master_service and the line_tables creation path, then review the routes.txt and trips.txt fields referenced in the issue. The work is complete when a line_annotator maps LineID through the relevant trip and route data and exposes descriptive route names, descriptions, and headsigns by LineID.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend, data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100