-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
validator could consider a public_transport=platform
way as routable
#8760
Comments
It would help to know which routers consider |
@1ec5 OsmAnd does seem to use it: The only other mobile app I have is Organic Maps, which doesn’t even render a way tagged as such in its default rendering (and doesn’t use it in routing). |
Thanks for looking further into the matter. I’m not fully caught up on the discussion in #6409 either, but this does seem like a tricky situation. Your example of Greenslopes platform 1 is tagged as I tested some popular OSM-based routing engines on this way and two others with different tag combinations. The consensus among routers seems to be that platforms aren’t inherently routable. Some come up with very circuitous routes, going out of their way to avoid the platform, while others come up with no route at all, suggesting an as-the-crow-flies path between two waypoints.
Maybe this is just a matter of routers being slow to take up the Another possibility is that data consumers are expecting platforms to be mapped as areas only. In the absence of area routing (osmlab/osm-planning#17), they may also expect the likely paths through those areas to be mapped as footways, just as in pedestrian plazas. Even though tagging for the What if the validator rule’s warning message were more transparent about what’s considered routable? Maybe it could determine that a particular iD/modules/validations/disconnected_way.js Lines 163 to 176 in 1ee45ee
Lines 1756 to 1763 in 49f5d03
By the way, osm.org also has a routing feature that you may find convenient in debugging routing issues. Click the Get Directions button next to the search bar. You can select from a couple different providers to reduce the temptation to tailor your tagging to a particular routing engine’s quirks. |
@1ec5 : thank you, this is the most thorough testing and review I have seen anyone do for any bug report I have ever created! It paints a very clear picture of the situation. 🙂 Thanks for the reminder to use osm.org to test the different routing engines, I should have thought of that earlier (especially given that I have done it in the past!). So, if I understand it well, in a nutshell:
Is that an accurate summary? I am wondering, as a small improvement to the validator message, if the text could be changed slightly, for example:
Or, in a more verbose way:
In any case, I have reported the wish to see public transport platforms to be routable by OsmAnd, as it was not mentioned on any repository. Curious to see what the developers think of this one. |
I think this is a good summary overall. I honestly don’t know if or when the situation might change, since it depends on a number of software projects that don’t move in lockstep, some of which are no longer actively maintained (like the outdated version of OSRM embedded in Organic Maps). There may also be downsides or technical constraints that hadn’t occurred to us mappers. Since compiling the table above, I discovered that Openrouteservice does route over
I think this would be a good and easy stopgap fix. The explanatory text below it could elaborate if “commonly” is too ambiguous. This should just be a matter of modifying the strings here; please feel free to open a PR with suggested wording: Lines 1756 to 1763 in 49f5d03
To elaborate on this idea, iD/modules/validations/disconnected_way.js Lines 106 to 110 in 1ee45ee
And check both queues in parallel: iD/modules/validations/disconnected_way.js Lines 97 to 103 in 1ee45ee
In addition to the main routing island’s members, it would also return the gap way that resulted in populating the alternative routing island: iD/modules/validations/disconnected_way.js Lines 140 to 141 in 1ee45ee
This would give the warning code the opportunity to identify the gap way explicitly, which would be helpful in case of a large routing island: iD/modules/validations/disconnected_way.js Lines 25 to 32 in 1ee45ee
This extra checking could significantly impact performance, but it would only be active under limited circumstances. |
Have you reported the issue to OSRM? Sounds like something they would want to sort out.
That would be a great improvement. I did end up spending some time trying to figure out where the issue was as it all looked connected at first sight. Regarding a potential PR, I will give that a go! Cheers 🙂 |
Touché. I think you meant Openrouteservice, though. It seems to be a different routing engine: GIScience/openrouteservice#1081. |
@1ec5 I think there might be an inaccuracy in the testing of OsmAnd routing. I tested it and I got:
Cheers |
This comment has been minimized.
This comment has been minimized.
@1ec5 do you want to amend your table in #8760 (comment) ? It's a great summary to point to in other reports :) |
I reran the test and corrected the table above. But now I’m confused, because OsmAnd is definitely routing over
This way is part of a
Your destination got snapped to a footway. Here’s OsmAnd routing over the platform: Contrast this with the San Antonio platform, where moving the waypoints closer together allows the origin to snap to the platform but still doesn’t convince the router to traverse the platform: Anyways, my point stands that |
Somewhat linked to this, GraphHopper seems to still be the only one of the routers on the OSM website to route over a platform when I've just tested, however it does raise an alternative issue, they seem to ignore the ticket gates (at least one tagged as barrier=turnstile). For some stations there are footbridges or underpasses you can access from either end, but you need a validated ticket (e.g. tap in on a contactless card) to be on the station, yet GraphHopper will happily route me across this without so much as a warning. |
How was the platform tagged? So far I’ve only found it to route over |
All I know is currently a path connecting Railway Platform A to Railway Platform B creates a warning. |
It’s just a warning, not an error. If you don’t have adequate local knowledge, imagery, or traces to resolve the warning, leave it to someone else to resolve the warning. |
All I am saying is I know every inch of that Railroad platform, and it's just a solid platform that you can walk in any direction across. Any path that I would make going across it would be just as valid as any other path in any other random direction going across it. It's just like if I put an ant in the middle of a dish and then made a path on the map whatever way the ant walked: it's just as valid and, just as invalid as any other path across a random blank area. It's just like the electrons are passing along a wide copper strip. |
I just did a test: would a one dimensional (line (unclosed way)) platform also get the error? Yes. Well, how could that be? Why is a one dimensional platform different than a one dimensional footpath? Both should be routable. |
That would be a question for the routing engines listed above – potentially a good bug report to their developers. |
@jidanni There is a reason for routers to try to avoid platforms. In some countries platforms are part of the paid zone (i.e. you have to validate your ticket/card/travel pass at a machine to enter). You can fix the routing problem by adding |
Well a footway could also pass through a fare gate or a custom gate. So the router should be sensitive to gates. And the mapper should remember to put the gates on the map. I mean we're supposed to map the things that are on the ground. And there's no path going across a big piece of pavement that's all the same. No matter if it's people, or electrons, they all can figure out ways of going across a plane. But okay, I guess I should start thinking of this in terms of suggested routes. If I suggest a person take these routes across these items, then I guess I'll start feeling better about it and get used to it. Thanks |
Hi all
This is clearly related to the discussion in #6409, but I haven't followed the discussion in detail and I am not aware of what made the developers change their mind on the suggested addition of explicit
highway=footway
tags by the validator.In any case, I came across the
disconnected_way
issue in this object, because its connection to the whole network goes through a way tagged aspublic_transport=platform
.I'm wondering if the validator should consider the way tagged as
public_transport=platform
as a routable way. It seems to me it would be quite common to have detailed public transport stations in which, to cross from one side to the other of the building, you would have to walk on sections of platforms. The debate might be more relevant for areas, but isn't this straight-forward for a way?And just taking the opportunity to thank you all for the great work on the editor 👍
The text was updated successfully, but these errors were encountered: