Project-OSRM / osrm-backend

Open Source Routing Machine - C++ backend
http://map.project-osrm.org
BSD 2-Clause "Simplified" License
6.33k stars 3.34k forks source link

roundabout exist counts are confusing for cyclists #2533

Open emiltin opened 8 years ago

emiltin commented 8 years ago

Because you can usually push bikes against oneways on bike, dual carriageways are counted as 2 exists in roundabouts, leading to confusing exit counts.

For example you're told to take the 3rd exit in the following situation:

screen shot 2016-06-11 at 23 11 58

I'm not sure what can be done about this. OSRM could count only exist that you can cycle on. This would make the common case of dual carriageways more correct, but would require special handling of edge cases like exiting on a footway.

emiltin commented 8 years ago

related to #2529. ie you could maybe tell the user "At roundabout, head straight on Birch Street" or "At roundabout, head left onto Summer Street", instead of counting exits

MoKob commented 8 years ago

The problem I see here is how would you tell someone to exit into one of these streets. Consider a foot-path that is actually your destination. If you don't count it, you have either an undefined exit or, if you then simply add 1, exit two can both be the path where you need to push and the actual street.

What I could imagine is that we can treat roundabouts as we do with cars, not allowing exits against the direction, and have to announce something without an exit like exit the roundabout and push your bike for all exits that don't follow the convention.

This will require both special treatment in pre and post processing, since we need to handle cases that exit the roundabout at a exit that is not part of the roundabout and we need to consider travel modes of bikes in roundabouts. This needs https://github.com/Project-OSRM/osrm-backend/issues/2113 to be implemented reasonably without introducing yet more profile dependent settings.

emiltin commented 8 years ago

Right, it's not obvious how to best guide cyclist in these situations. The question is how meaningful it is to count exits if you can exit pushing bikes against oneways or at footways.

For small roundabouts, simply announcing a normal turn is probably better, and is already done with the roundabout turn instruction.

For normal/large roundabouts, maybe it would be better to announce the exit as a normal turn? Ie. in 20m exit the roundabout onto ...?

I guess pedestrian routing have the same issue with roundabouts.

Ajojo44 commented 7 years ago

Hi everyone,

I have the same problem with round-abouts. The interpretation of the exit is not good for our system as a instruction to give to cyclists. Most of the cyclists think as car drivers when they are on the road and as a car-driver you only count exits you could take on a round-about.

I understand that if the API returns a wrong exit based on this interpretation of the round-abouts, it's because all outputs are counted as user can ride down of its bike to walk on that way. This could be really dangerous on the road and lead to real security problems and therefore responsibility problems for us.

I see two or three workarounds for this problem:

Do you think one of these solutions is conceivable? How long would it take before seeing a satisfactory solution? For us it's a real issue that leads us to a deadlock.

Thank you!

danpat commented 7 years ago

One relatively-easy-to-implement approach might be to not count exits that would trigger a mode change.

For the car, this would mean nothing would change - unless there's a roundabout directly connected to a ferry somewhere, which seems pretty unlikely.

For bike, we could suppress counting of any exits with a mode that differs from the initial roundabout mode.

For walk, I'm not sure what the right thing do do is - do walkers perceive the car exit numbers the same? Personally, I would count "exits" as if I was driving - roundabouts are car constructs, after all.

What I'm not sure how to handle with this solution is what exit number to assign a route where we do suggest a mode change - "take exit 3.5?"

MoKob commented 7 years ago

@danpat there is at least one of these roundabouts into ferries: https://github.com/Project-OSRM/osrm-backend/pull/3766

emiltin commented 7 years ago

maybe osrm could announce "exit on the footpath after the 2nd exit?"