osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.58k stars 1.01k forks source link

Public Transport support for Navigation #1236

Closed Nutomic closed 5 years ago

Nutomic commented 9 years ago

This is the only thing I'm missing in the app.

Also, thanks for all your effort. v2 looks really good :)

airon90 commented 8 years ago

I suggest Osmand developers to use Navitia.io APIs in order to add support to public transport to the app. You could also contact Transportr developers as they are building an open source app just for public transport.

dkniffin commented 8 years ago

I would also like public transport support, specifically transloc.

kompowiec commented 8 years ago

Could be done hastily plugin which Transportr required?

KOLANICH commented 8 years ago

For Moscow buses/trolleybuses/trams you can get live info about their position by reversing ru.yandex.yandexbus API (they have an agreement with Moscow government to get such kind of info from gps/glonass trackers on transport).

paskalito commented 8 years ago

Transpotr also had once plans / ideas to implement these publictransport infos offline, which would also be very cool to have

OpenSourceForEver commented 6 years ago

What about it? It would be very nice option

ADepic commented 6 years ago

Project Dead?

I think first you should implement transportr, then get an API to work with bus / train routes in OSM.

EmmanuelMess commented 6 years ago

I think first you should implement transportr

How would that work?

prototype99 commented 6 years ago

might be worth mentioning, transportr for the most part uses navitia, so really the important task seems to be getting navitia support built in. thus we can't really implement transportr (being a whole app) but we can implement navitia, which is the main data source they use (they seem to suggest you can contibute data sources to navitia as needed too). they also detail a bit about the process to get transport service logos, which may be desirable. here is the link anyway, to read: https://transportr.app/contribute/ after a bit more looking into it, it turns out they use https://github.com/schildbach/public-transport-enabler/ which is presumably for the most part a wrapper for navitia?

airon90 commented 6 years ago

Another source of data than Navitia is https://transit.land. I noticed that this one is more community-based than Navitia, which often doesn't add data you found

prototype99 commented 6 years ago

done some research; see #5540 #5230 #4431 #4787 #3504 looking through these issues and this one we have as data sources: navitia , transitland , travic we have as potentially useful wrappers: public transport enabler we have as potentially useful example implentations/contacts: transportr

EmmanuelMess commented 6 years ago

I don't think we need data sources, the app already has enough information from Open Streets Map. The code for the actual public transport navigation is what should be added (IMO).

prototype99 commented 6 years ago

i'm pretty sure that's what we need the data sources for. one of the most important things to have, is the timetable. does openstreetmap support the addition of timetables? if we wanted to use it like that wouldn't we need to help create a standard for adding in timetables? even if we had that, there are lots of buses now, that broadcast their location and any delays, i don't think osm supports live data like that... it would be good, but i don't think it does as far as i know it has to all be static data. so external data sources are most important for live delay information

jmaris commented 5 years ago

Has this advanced at all?

romusprime commented 5 years ago

unsubscribe me

On Wed, Dec 5, 2018, 7:53 PM Jordan Maris <notifications@github.com wrote:

Has this advanced at all?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/osmandapp/Osmand/issues/1236#issuecomment-444719325, or mute the thread https://github.com/notifications/unsubscribe-auth/AZfEBWtz3l0GVPDGJGzDiezy45E2tZYQks5u2Hh_gaJpZM4EbtvZ .

utack commented 5 years ago

Maybe this could be done together with https://github.com/grote/Transportr or https://gitlab.com/oeffi/oeffi
Either of those apps could implement an api (brouter style) and send results to Osmand? @schildbach also already seems to have a project to easily implement public transport routing into any app https://github.com/schildbach/public-transport-enabler

romusprime commented 5 years ago

unsubscribe me

On Wed, Dec 5, 2018, 7:58 PM utack <notifications@github.com wrote:

Maybe this could be done together with https://github.com/grote/Transportr or https://gitlab.com/oeffi/oeffi Either of those apps could implement an api (brouter style) and send results to Osmand? @schildbach https://github.com/schildbach also already seems to have a project to easily implement public transport routing into any app https://github.com/schildbach/public-transport-enabler

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/osmandapp/Osmand/issues/1236#issuecomment-444720260, or mute the thread https://github.com/notifications/unsubscribe-auth/AZfEBXrxv93joWxeqbie4UDWc6E9oBMLks5u2HmtgaJpZM4EbtvZ .

scaidermern commented 5 years ago

unsubscribe me

Use the Unsubscribe button on the right.

contrapunctus-1 commented 5 years ago

It's amazing to see this get some activity! 😃 Could anyone involved please tell us if it will use OSM PT data like MAPS.ME does, or other sources, like Transportr does?

vshcherb commented 5 years ago

The data is already available for last years in Public Transport, it is coming only from OpenStreetMap, so navigation will use the current data which you can see by clicking on the transport lines

ADepic commented 5 years ago

Maybe supporting external data sources in the future? OSM's public transport isn't always reliable, and even if it is, it doesn't support bus times or live bus times (if the bus is early or late.)

EmmanuelMess commented 5 years ago

it doesn't support bus times or live bus times (if the bus is early or late.)

This is also a concern for me.

schildbach commented 5 years ago

Nowadays most of Europe is covered by Hafas, which is very well supported by https://github.com/schildbach/public-transport-enabler/

OpenSourceForEver commented 5 years ago

Before including this in Osmand (very nice function) maybe it should be solved problems like https://github.com/osmandapp/Osmand/issues/6176 because public transport navigation is more helpfull if subway and train stops shows its lines properly

aliceinwire commented 5 years ago

Would be nice to have also Japan transports. In Japan, trains and metro are the first way of navigation more than cars, not having Japan public transports is a big drawback.

carlin-q-scott commented 5 years ago

Can this be provided by something like BRouter, the bicycle routing support app? I'm asking because the Osmand team could offload the dev work to some third party developer, one that might charge for their app if need be. public-transport-enabler mentioned by @schildbach could be adapted as a support app without much effort I think; I live in the US though so that solution won't help me.

franco999 commented 5 years ago

I add a screenshot about the new function they are implementing in this regard. as

prototype99 commented 5 years ago

looks promising. i hope documentation is released on what tags osmand looks for, that would probably be a great help. does it only use offline data or does it use something else to add live feed support where available? oh! also what is the save feature like, does it save the route so it can easily be searched again or does it just save that particular instance of the route?

ADepic commented 5 years ago

Only offline data which is a bit annoying

prototype99 commented 5 years ago

progress all the same. obviously there are already implementations of live routing for both osm and other services, however there's not really any example of offline routing floating around so i guess naturally offline would be a priority to firstly fill a gap and secondly because osmand already has strong offline routing

vshcherb commented 5 years ago

Basic implementation is done and Public Transport now in Beta. From this point this issue will split into many other issues some of them will be must have some of them nice to have. For this release, we are planning:

  1. To write a detailed article how it works and how to correct map data and validate it. In our tests we've found that 90% of the issues were related to the map data.
  2. Fix small UI glitches and some not-functionling buttons.
prototype99 commented 5 years ago

I'll move this to the related issue if/when one is made but for now without looking at the code (because I'm unfamiliar with it) this is what I seem to gather by locating and studying the example shown earlier:

OpenSourceForEver commented 5 years ago

I think routing don’t require stop positions to be present

prototype99 commented 5 years ago

where i live the route relation has no stop positions and it says route is empty. the working example seen above is in an area with stop positions, so it's a guess until i've updated the local route and seen if it makes a difference

OpenSourceForEver commented 5 years ago

Osmand works fine with relations without stop positions. Logically, if there are no stop positions there must be platforms

prototype99 commented 5 years ago

well, i added in the stop positions and it still doesn't route, it's mystifying... it's a full v2 relation with stops and stop positions. i'll have to compare again to see what's missing. now with the stop positions rather than saying route is empty it just stalls.

ADepic commented 5 years ago

I feel that osmands stalling is unlikely to be a map issue. It just stalls (routing never completes) and slows down your phone.

BTW, does routing use "duration" ,"interval" and "opening_hours" tags on public transport relations ? Those tags are critical for good public transport.

prototype99 commented 5 years ago

well, the example place still works on the same app/map version and device... i wasn't aware opening_hours was ever used on the relations, but it makes sense. as i have no experience of how osmand is coded i couldn't give an exact answer. it LOOKS like 3.3.6 has gained some ability to process public transport duration though, but keep in mind they could just be using a profile designed to emulate a bus' speed and such. someone else may know for sure, you could also see if you get lucky searching commit history, it doesn't look like any commit detailed how the implementation works though.

LaoshuBaby commented 1 year ago

BTW, does routing use "duration" ,"interval" and "opening_hours" tags on public transport relations ? Those tags are critical for good public transport.

Now it is 2023, the public transportation navigation is much easier to use, but they still don't support opening_hours, so recommending night buses during the day or holiday buses during weekdays is still happening, as introduced in #6700 (also #9395)

(And this kind of problem is still being reported, but I don't know how to modify the routing.xml file to solve this problem, I want to know how I can get guidance to add this feature)

secretmango commented 2 months ago

In Germany it does not work at all.

https://gitlab.com/oeffi/public-transport-enabler

Oeffi, a very well working public transport app for all transports in all of Germany, has this library that could be used for routing in Germany