Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Public Transport support for Navigation #1236

Closed
Nutomic opened this issue May 15, 2015 · 39 comments
Closed

Public Transport support for Navigation #1236

Nutomic opened this issue May 15, 2015 · 39 comments
Assignees
Labels
Nice to Have Should be fixed but there is no priority or no possibility to fix it within current horizon planning
Milestone

Comments

@Nutomic
Copy link
Contributor

Nutomic commented May 15, 2015

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

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

@vshcherb vshcherb added the Nice to Have Should be fixed but there is no priority or no possibility to fix it within current horizon planning label May 16, 2015
@airon90
Copy link
Contributor

airon90 commented Apr 23, 2016

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
Copy link

dkniffin commented Apr 23, 2016

I would also like public transport support, specifically transloc.

@kompowiec
Copy link

Could be done hastily plugin which Transportr required?

@KOLANICH
Copy link

KOLANICH commented Aug 6, 2016

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
Copy link

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

@OpenSourceForEver
Copy link
Contributor

What about it? It would be very nice option

@ADepic
Copy link
Contributor

ADepic commented Jul 4, 2018

Project Dead?

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

@EmmanuelMess
Copy link

I think first you should implement transportr

How would that work?

@prototype99
Copy link

prototype99 commented Aug 9, 2018

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
Copy link
Contributor

airon90 commented Aug 11, 2018

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
Copy link

prototype99 commented Aug 13, 2018

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
Copy link

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
Copy link

prototype99 commented Aug 13, 2018

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
Copy link

jmaris commented Dec 6, 2018

Has this advanced at all?

@romusprime
Copy link

romusprime commented Dec 6, 2018 via email

@utack
Copy link

utack commented Dec 6, 2018

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
Copy link

romusprime commented Dec 6, 2018 via email

@scaidermern
Copy link
Contributor

unsubscribe me

Use the Unsubscribe button on the right.

@vshcherb vshcherb added this to the 3.3 milestone Dec 11, 2018
@contrapunctus-1
Copy link
Contributor

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
Copy link
Member

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
Copy link
Contributor

ADepic commented Jan 4, 2019

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
Copy link

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
Copy link

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

@OpenSourceForEver
Copy link
Contributor

OpenSourceForEver commented Jan 10, 2019

Before including this in Osmand (very nice function) maybe it should be solved problems like #6176 because public transport navigation is more helpfull if subway and train stops shows its lines properly

@aliceinwire
Copy link

aliceinwire commented Jan 16, 2019

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
Copy link

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
Copy link
Contributor

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

@prototype99
Copy link

prototype99 commented Mar 3, 2019

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
Copy link
Contributor

ADepic commented Mar 3, 2019 via email

@prototype99
Copy link

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
Copy link
Member

vshcherb commented Mar 3, 2019

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.

@vshcherb vshcherb closed this as completed Mar 3, 2019
@prototype99
Copy link

prototype99 commented Mar 15, 2019

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:

  • routing is based off of public transport v2

  • if the route relation already exists you must edit it in JOSM because ID has no way to reorder relation members as required

  • JOSM has tools that can generate the correct ordering for public transport relations as well as filling in some of the tags, although the auto-generated names seem to be slightly non-compliant. there are also validation features and the ability to identify gaps

  • JOSM also to some degree helps with generating stop position nodes using an appropriate plug-in although I have yet to personally test it

  • routing currently treats public transport as taking 0 minutes, however one can assume that this will be fixed in a later release

@OpenSourceForEver
Copy link
Contributor

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

@prototype99
Copy link

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
Copy link
Contributor

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

@prototype99
Copy link

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
Copy link
Contributor

ADepic commented Mar 20, 2019 via email

@prototype99
Copy link

prototype99 commented Mar 20, 2019

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
Copy link
Contributor

LaoshuBaby commented Mar 13, 2023

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Nice to Have Should be fixed but there is no priority or no possibility to fix it within current horizon planning
Projects
None yet
Development

No branches or pull requests