Project-OSRM / osrm-backend

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

u-turns right after intersections? #65

Closed emiltin closed 12 years ago

emiltin commented 12 years ago

there are numerous places in osm where a street changes into two parallel one-way streets. often at intersections. like here: http://www.openstreetmap.org/?lat=55.671981&lon=12.57939&zoom=18&layers=M

this is often in relation to intersections. in effect you have three way meeting: two oneways separated only by a small angle, and a bidirectional.

osrm is happy to enter one of the oneway streets, do a sharp u-turn, and leeave out the other oneway. often this means you're leaving an intersections, do a u-turn right outside the intersection, and then re-enter the intersection.

i'm not really sure this is a bug; but the maneuver certainly seems untraditional. especially since these situations often occur at large roads (since they're the one that are typically divided at intersections).

http://localhost:5000/viaroute&start=55.671663936787,12.578800734469&dest=55.671733515879,12.57862370868&z=18&output=json&jsonp=showResultsRoute&geomformat=cmp&instructions=true

DennisOSRM commented 12 years ago

This is not a bug but a missing turn restriction if it's not allowed.

emiltin commented 12 years ago

i guess you're right. it's just that there are so many of these places, and none of them has turn restrictions.

DennisOSRM commented 12 years ago

That's true. Unfortunately, there is no tool which makes use of turn restrictions yet. You simply don't see it on a map, so people don't know they are missing.

A useful routing engine on the other hand may make this visible and motivate people to add more and more of these restrictions.

On 17.12.2011 18:23, Emil Tin wrote:

i guess you're right. it's just that there are so many of these places, and none of them has turn restrictions.


Reply to this email directly or view it on GitHub: https://github.com/DennisOSRM/Project-OSRM/issues/65#issuecomment-3190369

emiltin commented 12 years ago

yeah. it's possible to add turn restriction with potlatch2, and you see a small icon when you're editing. but it's bit more complicated than editing ways.

but another way to view it is that turn restrictions should be added whenever there's a roadsign. the situation i described above never has roadsigns permitting the maneuvre, i guess because it's implied that it's not legal?

emiltin commented 12 years ago

generally, routing across intersections on bicycle seems to present some challenges; i often get long detours (not bugs in osrm, just following oneways, etc). in reality, people would dismount and push their bike across. i'll need to look more into this.

DennisOSRM commented 12 years ago

Depending on the country there don't have to be any signs. Often a non-dashed line in the middle of the street suffices to indicate that such a turn is illegal.

On 17.12.2011 18:37, Emil Tin wrote:

yeah. it's possible to add turn restriction with potlatch2, and you see a small icon when you're editing. but it's bit more complicated than editing ways.

but another way to view it is that turn restrictions should be added whenever there's a roadsign. the situation i described above never has roadsigns permitting the maneuvre, i guess because it's implied that it's not legal?


Reply to this email directly or view it on GitHub: https://github.com/DennisOSRM/Project-OSRM/issues/65#issuecomment-3190442

emiltin commented 12 years ago

you're right. looking at google street view, this is certainly the case in this situation. interesting. you're also right about the fact that a routing engine is a great way to discover these issues, and a motivation to get the osm data right - that's what we're doing!

emiltin commented 12 years ago

and yet; i have a sense that manually adding turn restrictions to every intersection that has a divider would be a lot of work. i will have to ponder this...

emiltin commented 12 years ago

osm proposal for using divider=* for tagging street divider lines. this often indicates where you cannot do u-turns or otherwise cross the middle line: http://wiki.openstreetmap.org/wiki/Proposed_features/Divided_road

the tags is not yet widely used: http://taginfo.openstreetmap.org/keys/divider#values