osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.73k stars 1.03k forks source link

Implementation of GTFS (ODbL) for timetables routing #10681

Open Futur3r opened 3 years ago

Futur3r commented 3 years ago

🚀 feature request

Description

Is there support for timetables ? The network of my city is under ODbL. Is there a way to import or sync dataset with an osmand database to implement timetables routing for gtfs that are under ODbL licenses ?

Annecy GTFS : https://transport.data.gouv.fr/datasets/offre-de-transports-sibra-a-annecy-gtfs

Describe the solution you'd like

Adding to osmand the link were the gtfs dataset of a network is updated, so that it could implement timetables in routing for networks that are under open licenses.

ManDay commented 3 years ago

See also Proposed features/Simpler public transport route relations (and GTFS).

ynerant commented 1 year ago

Hi!

Discussions have begun to establish a standard for GTFS tagging: https://wiki.openstreetmap.org/wiki/Proposal:GTFS_Tagging_Standard

I would also like that OSMAnd takes into account the gtfs tags, to consider real-time (at least scheduled data) for public transport routes, and thus improve the results and their quality.

Routes can have a gtfs:feed tag, and OSMAnd can use this tag to know what GTFS database to use (either using a local mapping feed -> url or using the gtfs:url tag of the proposal, but OSMAnd should not parse the zip archive on-the-fly, but index it instead in background).

Then, using the gtfs:trip_id:sample tag, OSMAnd can find out which trips are similar to a given route (like PTNA does), and thus find out the stop times and the trip durations.

I hope that this system will be implemented one day!

vshcherb commented 1 year ago

@ynerant from our last investigation : we already built support for time schedule in data structure (and probably algorithms...) - https://github.com/osmandapp/OsmAnd-resources/blob/master/protos/OBF.proto#L364. 3 years ago or more We were stuck that we can't relate OSM route relation (not master route) to trip id (mentioned as gtfs_route_id?) and of course were to take GTFS Feed itself.

We don't need any other information cause link and route_id is enough, transport stops are easy to match by distance and order. Though situation might be tricky due to many variations in GTFS and not so many relations (probably too much) in OSM, so we were stuck unfortunately