Improve open area routing
Is there an existing issue for this?
- [X] I have searched the existing issues
Problem description
OpenRouteService does route on simple polygon area highways (although only on the edge, sadly). But if it is defined as a multipolygon, it does not.
To Reproduce
- Open this routing URL.
- Observe that it makes an "aerial jump" to the next edge of a simple polygon area highway, but not to the closer edge of the multipolygon area highway where the starting point is. And also induces a "big" detour.
See screenshot:
Proposed solution
- At least, treat relation area highways the same as normal area highways and route along their edge.
- Ideally, route also inside area highways.
Additional context
Using web client at https://maps.openrouteservice.org/ with Firefox 135.0b3.
Forum Topic Link
No response
MichaelsJP changed the issue type from Feature to Bug last month
I think this actually is a bug, not a feature request, as area highways defined as a relation are not routed along at all, even not at their edge, which is the case for "normal" area highways. (This in the example is defined as a relation because in the centre it has a hole.)
I have just updated the initial report with slightly moved starting position which shows more clearly the issue in generating an obvious bogous "big" detour.
GraphHopper, OSRM and BRouter have the same issue, by the way.
Thanks @dreirund for your feedback, I will have a look again 👀
I think this actually is a bug, not a feature request, as area highways defined as a relation are not routed along at all
We have had the same feedback sent to our CycleStreets routing engine [different software to ORS].
Why should tags on a Relation make it routable itself? The purpose of a Relation is to group real-world objects, not to provide geometry and metadata describing the real-world objects directly:
"Relations are used to model logical (and usually local) or geographic relationships between objects." [OSM wiki]
I see no reason why this Relation should have a highway tag at:
https://www.openstreetmap.org/relation/14448718
That basically just seems to be wrong data. The Way itself has no tags on it, which indicates a fundamental data error.
Addendum:
According to this comment, the area in question is a correctly defined multipolygon area and thus should be handled the same way as single-polygon area highways.
Thanks @dreirund for your feedback, I will have a look again 👀
OK, maybe it is a "feature wish" and not a "bug" (I call it "inconsistency") if your routing on the edges of simple polygon area highways is not intended but just a side effect of just ignoring the area=yes tag.
My rationale so far was: Simple polygons and multipolygons are to be treated similarly from the point of view how OSM defines them, and in that case, if the routing engine routes along the edge of simple polygons, it also should do so on the edge of multipolygons.
Regards!
(In case that OpenRouteService uses GraphHopper as backend, then I think this should be closed here and just be tracked here in the GraphHopper tracker.)
According to this comment, the area in question is a correctly defined multipolygon area and thus should be handled the same way as single-polygon area highways.
No, the problem is that the Way has no data on it, so there is nothing to route over. Data about physical real-world objects does not go on a Relation. This is not a router bug: it is simply incorrect data. Just because an OSM editor allows you to write arbitrary tags into a Relation doesn't mean anything will be done with that data.
To fix this:
Edit this Way, which is the actual physical object: https://www.openstreetmap.org/way/1085465662
Add the four infrastructure tags currently on the Relation:
highway=footway
lit=yes
smoothness=intermediate
surface=compacted
The remove those tags from the Relation.
No, the problem is that the Way has no data on it, so there is nothing to route over. Data about physical real-world objects does not go on a Relation.
See this section in the OSM wiki:
An area (closed way or multipolygon) tagged with highway=pedestrian + area=yes is the most common way to map the pedestrian area of a square or plaza, where pedestrians can travel freely in all directions. […] If there are features or areas within the square or plaza which are not part of the walkable pedestrian area, these should be excluded by creating a multipolygon relation and making them inner members.
And that is exactly the case here: A multipolygon. In case of a multipolygon, the tags do not go directly on the way.
This might be a manifestation of https://github.com/osmlab/fixing-polygons-in-osm/issues/33.