There is a main road with intense traffic. The road can be crossed only in marked pedestrian crossings. The road is tagged as foot=use_sidepath + sidewalk=separate. Pedestrian crossings and separate pavements are properly mapped. Foot routing works fine using only sidewalks and pedestrian crossings.
The problem starts when the main road is crossed by a minor road. The minor road is tagged as foot=yes + sidewalk=both. In this situation routing allows crossing the main road along the minor road (through the middle of the intersection). In real world you cannot cross a road with intense traffic like that (at least in Poland – you need to use the nearest marked pedestrian crossing.
I don’t know how I can properly map the situation. I tried drawing separate sidewalks for the minor road and tagging it the same as the main road (foot=use_sidepath + sidewalk=separate) but routing still leads through the middle of the intersection.
I can only think of one solution for this: divide the minor road to create a section in the middle of the junction and tag the section foot=no.
Is there a better way?
I’m new to OSM so wanted to ask before I make a mess in my neighbourhood
I suspect the router you tested this with either doesn’t support the use_sidepath value or has updated their data yet, otherwise changing the minor road to separately mapped as you described ought to have worked.
Splitting the minor road at or after the crossing and tagging the small part as foot=no seems correct to me and should have the desired effect.
I decided this is a bad idea after using such tagging a few times. Technically it may not be illegal to do so, especially when considering jaywalking laws viz UK ones. For other countries, it would be very tedious and not on-the-ground to determine the distance of a location from the nearest crosswalk or grade-separated crossing, if not the presence of barriers. This should be an implicit country default rule, determined by the router.
Situational factors ie traffic speed and volume here should not be used to judge access= either, which is for legal restriction.
Thank you Tordanik. I’ve tried that and I’m still waiting for the results (I’m aware of the update lag).
I use standard OSRM router on OSM.
Apparently OSRM either ignores the value or treats it as “rather use a sidepath” :). While it never uses roads with foot=no for pedestrian routing, it definitely can use a road with foot=use_sidepath (at least in Poland).
I’m thinking about it. Decisively I wouldn’t normally cross a busy road in the middle of an intersection. I would appreiciate if routing leaded me to the nearest crosswalk, esp. with all that effort that people already put in mapping pavements and pedestrian crossings. But maybe it’s my personal perception. I’ll take it to account esp. when mapping less busy roads.
I don’t know if I understand you correctly. Both roads forming the junction have real sidewalks (now I’ve mapped them separately). The situation I’m testing looks like this:
There is a typical X-junction of two roads:
a major road with intense traffic you cannot practically cross outside designated pedestrian crossings
a minor road you practically can cross outside designated pedestrian crossings
Both roads now have mapped pavements and pedestrian crossings and these roads are tagged with:
There is no pedestrian crossing through the major road directly at the junction.
Let’s say I try to make a pedestrian route leading at some point from one side of the major road to the other side of the major road. Both OSRM and GraphHooper leads me through the middle of the junction, treating it like pedestrian crossing. It is so even if there is a real pedestrian crossing mapped 15 meters away.
I’m trying to block the pedestrian routing through the middle of the junction.