osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.37k stars 987 forks source link

Allow routing by foot for simple multipolygons (1 outer ring) #19060

Open joshinils opened 4 months ago

joshinils commented 4 months ago

Describe the routing engine used (required)

Describe your routing Profile (required)

pedestrian routing

Describe your start and end points (required)

the route goes from one train platform station entrance to the other

Describe the actual route (required)

https://www.openstreetmap.org/directions?engine=graphhopper_foot&route=52.59788%2C13.33276%3B52.59589%2C13.33639#map=18/52.59676/13.33445

outside, along sidewalks, the road

Describe the expected route (required)

along the platform

Describe what Maps you used (online or offline) (required)

Your Environment (required)

OsmAnd Version:OsmAnd~ 4.5.10 (from f-droid)
Android/iOS version: 12
Device model: Samsung Galaxy S10

Anything else? (optional)

ref: Project-OSRM/osrm-backend#6787 valhalla/valhalla#4578 organicmaps/organicmaps#7338 graphhopper also

scaidermern commented 4 months ago

I think this is a duplicate of #8438.

Currently, OsmAnd fails to route along the outer ways of a multipolygon (which in this case is: https://www.openstreetmap.org/relation/11786092). The same limitation applies to many other routers, unfortunately.

joshinils commented 4 months ago

Currently, OsmAnd fails to route along the outer ways of a multipolygon.

I understand that. Even regular plain areas are not considered for routing and have difficulties, like hw=pedestrian with area=yes.

I'm fine with nothing happening, I just wanted to report this for completeness, since it does indeed not work on platforms.

On the flipside, one should not map footways in addition to public transit platforms: https://wiki.openstreetmap.org/wiki/Tag:public_transport%3Dplatform

highway=footway May break some GPS routers, when used. Only use this tag in combination with a platform is mapped as a way which connects to another highway=*.

Which means correct routing along these lies in the hand of routing engines, not mappers.

Currently, only very few train platforms have "duplicate" hw=footway on top of them for this reason.

vshcherb commented 4 months ago

I think it's much simpler case that we can support routing by outer edge of main outer ring. We already support this for polygon so it should be doable

joshinils commented 4 months ago

I think it's much simpler case that we can support routing by outer edge of main outer ring. We already support this for polygon so it should be doable

That should work, yes.

But I don't know if all the Stairs, elevators, escalators or what have you, are connected. Hopefully they have a node in common, but I guess they have to, otherwise if they only overlap there should be a warning in an editor. Some elevators seem to just float as a node and aren't connected via a footway to the edge of the platforms, though.

scaidermern commented 4 months ago

Some elevators seem to just float as a node and aren't connected via a footway to the edge of the platforms, though.

This sounds like a mapping error to me 🤔

joshinils commented 4 months ago

Some elevators seem to just float as a node and aren't connected via a footway to the edge of the platforms, though.

This sounds like a mapping error to me 🤔

Yeah, might be. I don't know if there are validator rules against that, though. At least JOSM does not complain if I try to edit the floating end node leading out of an elevator "onto" a train platform area. offtopic anyway