osrm-backend
osrm-backend copied to clipboard
allow u-turns at intersections
There have been quite a few discussions here over the years related to u-turns (#100, #729, #2012 to name a few, and also #2772 is a bit related). Some of these issues talk about u-turns at intersections and some of them talk about u-turns at via points.
Here we would like to explicitly focus on u-turns at intersections. Our current understanding is that u-turns at intersections are not allowed. For instance, to quote #100:
U-Turns are disabled by design and only allowed at the end of deadened streets. (2012)
No U-turns except at via points. This is a design choice. (2014)
In our use case we need the ability to make u-turns at intersections. There are two reasons for that:
-
We are dealing with the routing of large, long trucks. These large, long trucks use intersections to make u-turns (e.g., turn left, drive backwards, turn left), especially in remote, rural areas, so it is expected that u-turns will be made at intersections.
-
We are generating our own geographical data in OSM XML format, meaning that whatever OSM rules and conventions for u-turns are, we can make our own.
So we would like the ability to make u-turns at intersections (e.g., configurable per profile), whereas no u-turns at intersections seems to be by design in OSRM, and in order to start with this we would like to understand the rationale behind that design decision.
Could you please clarify what is the reason behind this design decision? Is it a conceptual decision based on the most common use cases or OSM conventions? Or the reason is a technical or an algorithmic one, where making u-turns at intersections would require a lot of codes changes and different algorithmic approaches? Provided that we have no preconceptions about allowing or disallowing u-turns in OSM or the real world, how hard would adding this feature be technically?