rinigus / pure-maps

Maps and navigation
https://rinigus.github.io/pure-maps/
GNU General Public License v3.0
260 stars 43 forks source link

Public transport #625

Open julianfairfax opened 2 years ago

julianfairfax commented 2 years ago

It would be nice to have public transport routing in Pure Maps. Possibly https://github.com/GNOME/gnome-maps/tree/main/src/transitplugins could be used? This is supposedly what's used in GNOME Maps, which supports public transport routing in Switzerland using transport.opendata.ch (and surely more through other sources)

rinigus commented 2 years ago

Some other notable software:

Talkless commented 2 years ago

From OSM wiki (https://wiki.openstreetmap.org/wiki/Public_transport/Tools):

osm2gtfs - source is a script to turn OpenStreetMap data and schedule information into GTFS, which can be widely used, like in OpenTripPlanner or in the mobile application Transportr.

So there's tools to gather public transport information from OSM and used as a layer of some sort?

That Transportr looks pretty cool, and it's available on F-Droid: https://transportr.app/

rinigus commented 2 years ago

I'd suggest to look into Valhalla, router used by OSM Scout Server and Stadia. Before it was possible to import whole dataset, but later I had issues with downloading it. So, someone has to figure out how we can add that to Valhalla. Internally, it should support public transport.

bwildenhain commented 1 year ago

One of our students, @lhaenschke, is currently integrating public transport support using KPublicTransport (the library used by KTrip) into his version of PureMaps, it's still WIP, but it can already be used to search for connections from nearby train stations (bus stations will be handled in the future), see https://github.com/rinigus/pure-maps/compare/master...lhaenschke:pure-maps:master if you are interested.

@rinigus Do you think such an approach could be integrated after some polishing?

rinigus commented 1 year ago

I am very happy that someone is working on Pure Maps - haven't had time for a while to do it.

I have looked into KPublicTransport integratrion as well and was thinking on how to do that. From the quick look into your code, some feedback:

I think it is mainly code moving and thinking it through on complying with router API. Maybe it is already, but I just didn't notice it.

Hopefully this helps