osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.38k stars 989 forks source link

Implementation of public transport data #4431

Open Aiurek opened 6 years ago

Aiurek commented 6 years ago

Based on the feature request #4425 i was wondering if it might be a potential idea to generally implement public transport data in Osmand, which can be used via optional plugin. Considering projects like Travic (http://tracker.geops.ch/?z=3&s=1&x=2372635.8903&y=8733365.3751&l=transport) this might be feasible. Besides train schedule data, Travic is even using real-time position of trains, plus it is illustrating the current delay, for regions in which the required data is publicly accessible. The potential use might be e.g. awesomely handy route calculation for pedestrian in combination with trains, metro. Just leaving this here as an idea. Is there a chance of realizing this?

vshcherb commented 6 years ago

Looks very very good & promising!

idivegad commented 6 years ago

Small addition of information This information is mostly interpolated based on schedule. And in some cities have as source only positions of bus stops (for example Aachen) and it is a typical situation to see there bus flying over the buildings in city centre. So realtime position at this moment of time can be not that good idea (or to limit it to trains, for example, in Germany. They are moving according to railway system).

Aiurek commented 6 years ago

@idivegad To fulfill the feature request #4425, the implementation of schedule data in combination with the interpolated transport position would suffice. Like mentioned, the real time position can only be illustrated for regions in which the required data is publicly accessible. Unfortunately, the respective German authorities aren’t providing any of these information currently :-/ Hopefully, they’ll make it public in future.

@vshcherb For now, to compensate the lack of real time data, it might be an idea to create our own data in order to approximate delays: The network of public transport routes, already implemented in OSM, is tremendous. If an optional plugin can be used to implement the schedule data of the transportations, one can observe where the train/metro/bus is positioned according to the time schedule and estimate whether he/she is possible to catch it. Would be very cool if it might be even possible to connect it to pedestrian navigation, using a switch like “Consider public transport”.

If we stick to Germany as an example: When using the DeutschBahn-App, the illustrated delays are highly inaccurate and thus a lot of people are complaining about it. This might be a niche, in which OsmAnd could gather lots of new potential users, assuming that it is possible to provide a sophisticated plugin. Users of the plugin could for instance deliberately share their current gps-position with OsmAnd when using a transport. Based on the gps-position, Osmand can actually calculate the deviations between gps-postion and scheduled train position to provide highly accurate train delay data to their users. Alternatively, the delays can also be calculated on the users smartphone when requesting location data for a certain transport from Osmand? If there's no Osmand-user available using the transport, there could be something like a 'Currently no data available'-toast.

This might be a very innovative step forward, which could lead to a significant increase of OsmAnd-users. Considering a huge search engine provider, it’s already possible to calculate traffic jams on streets based on the location of smarptphones, which are (deliberately?) sharing their gps-position.

vshcherb commented 6 years ago

I think for us it is still quite a complex story to implement. Cause we don't have any schedule at all, I'm not talking about real time data. I really hope that design & architecture will be done in 2017, but the development most likely could start only in 2018.

KOLANICH commented 6 years ago

https://github.com/schildbach/public-transport-enabler - a library of public transport providers https://github.com/schildbach/public-transport-enabler/issues/56 - some my suggestions about Russian public transport providers

KlavsKlavsen commented 6 years ago

It would be a tremendous benefit to just have osmand able to calculate route options with public transport. Was bust at fossdem and it takes time to click busstops and highlight routes for each metro/tram to figure which to take, and guess where to get off to get to where i need to. Time schedules could then be for another day

maninthemiddle01 commented 4 years ago

maybe it would be possible to add the data of Transportr (https://github.com/grote/Transportr) for public transport routing?

toas-koas commented 2 years ago

Is there any update?

vshcherb commented 2 years ago

No updates so far, I doubt it will make into our roadmap for 2022

Mannshoch commented 6 months ago

https://opentransportdata.swiss/en/cookbook/gtfs-rt/ Her the realtime Data of Switzerland.

BhasherBEL commented 6 days ago

As a first effort to implement real time public transport routing, it could be interesting to have public transport online router rather than osmand doing it's own logic (IMO it's coherent to use online services for real time data, such as in this case). For example, OpenTripPlanner have gained some popularity over the past years and is used by some providers.

That way, the first step would only let the displaying task to OsmAnd, which it is already ~ able to do.