openrouteservice icon indicating copy to clipboard operation
openrouteservice copied to clipboard

Improve open area routing

Open dreirund opened this issue 11 months ago • 9 comments

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

  1. Open this routing URL.
  2. 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: Image

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

dreirund avatar Jan 13 '25 15:01 dreirund

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.

dreirund avatar Apr 10 '25 10:04 dreirund

Thanks @dreirund for your feedback, I will have a look again 👀

aoles avatar Apr 10 '25 23:04 aoles

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.

mvl22 avatar Apr 13 '25 13:04 mvl22

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.

dreirund avatar Apr 14 '25 19:04 dreirund

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!

dreirund avatar Apr 16 '25 14:04 dreirund

(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.)

dreirund avatar Apr 16 '25 16:04 dreirund

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.

mvl22 avatar Apr 16 '25 16:04 mvl22

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.

dreirund avatar Apr 16 '25 17:04 dreirund

This might be a manifestation of https://github.com/osmlab/fixing-polygons-in-osm/issues/33.

dreirund avatar Apr 23 '25 19:04 dreirund