Understanding the wiki page on sidewalk

Yup, a cadastral map is a great visualization of street rights of way – even for nonexistent streets:

And they were mapped as one single way initially.

As to why, I’d wager it’s because as more and more of the world is mapped in OSM, the mappers don’t like sitting emptyhanded, but tend to want to micromap more and more.

  • So, initially, if you e.g. had two roads crossing, those would be just two OSM ways tagged highway=primary crossing in a point at a right angle, and world was a happy place - you could be navigated from one point of the city to the other, yay!

  • Then those roads got extra tags like name, surface, lit, lanes, sidewalk.

  • Then for major roads separated by islands/trees/barriers the carriageways got split into two separate ways, and barrier=* and natural=tree_row and traffic_calming=island and shoulder=* and verge=* and other stuff added.

  • Then the roads near crossings got split into several separate highway=primary_link with their own curved geometries.

  • Then we got not only the highway=* way with bridge=yes, but also man_made=bridge areas with its own plethora of subtags.

  • Then even highway=pedestrian becomes an area and not only a way.

  • Then we started splitting the roads in dozens and hundreds of smaller segments, so we can tag changes in tags on them (e.g. number of lanes, or existence of sidewalks)

  • Then the sidewalks become separately tagged things, and we got things like sidewalk:right=separate on the main street.

  • Then the separately mapped sidewalks get broken into dozens and hundreds of segments, to tag their differing maxwidth, lit, surface and other tags

  • etc.

All of those allowed for extra information to be mapped, but unfortunately all of that also made the OSM data more complex to actually use.

(Note: the bullets above are for narrative purposes, and are not an indication of actual timeline)


So here we are with the current problem - how to note which sidewalks belong to which streets. And there are several good ways (listed here), and few bad ones (like “mistagging for the router”) too.
And all of them further increases complexity, and make it harder to implement.

And yes, it is not ideal. Some of mappers might actually prefer if complexity growth would stop at some point, the extra details lost be damned. YMMV.

2 Likes

Perhaps this discussion would be a bit more fruitful if is_sidepath and its subtags ever get beyond the proposal stage to a vote and approval. Until then, a lot of people will likely stick with name.

Yes, it’d be very useful for sidewalk ways to have tags indicating which roadway they associate to - and, for the reasons @Mateusz_Konieczny brought up, name=* is definitely not the tag I think we should use for that! is_sidepath:of=* is a bit unwieldy, but clear enough and would benefit from tooling support.

2 Likes

A pull request to https://github.com/SomeoneElseOSM/mkgmap_style_ajt/blob/master/transform_03.lua that added that as the name (if set and if appropriate, and if it didn’t break anything else) would be accepted…

It’s not merely is_sidepath:of= , but is_sidepath:of:name= . That’s extra cumbersome.
street:name= is also supported by one application? @Richard Announcement / request for comments: naming sidewalks in Toronto - #12 by Richard

That’s why I’m bullish on street:name=*, which follows the same naming pattern as the de facto bridge:name=* and tunnel:name=* keys. Data consumers and editor developers tend to be a little less cautious when it comes to keys that follow established naming patterns.

9 Likes

It might help if that tag was actually mentioned on related wiki pages… I’ve now linked it from Tag:footway=sidewalk - OpenStreetMap Wiki, but there are others which you might want to update.

2 Likes

If street:name s

I may start using that, but in parallel with name=* for the moment.

At the moment, I believe we only have router support from cycle.travel. It’s a very good cycle router, but whatever eventually displaces name=* needs support from pedestrian routers and running apps.

As far as I can tell, is_sidepath:of:name=* comes from the Berliner Verkehrswende, and it has been put on the backburner there for unnamed reasons, @tordans may know the details. Certainly, tagging that is tedious, maybe too much. The SC code mentioned by @Matija_Nalis above might serve as a helper for manual adding to ease the pain it it was approved, I hesitate to call that mature enough for voice itineraries.

Unlike others, e.g. @Minh_Nguyen I see the sidewalk a part of the street. Backed by our local traffic code. So name fully justified. Not that I want to promote such mappings.

1 Like

Based on the examples you’ve provided, I agree that the walkways you’re considering are part of the street – but I wouldn’t consider them sidewalks. They’re pedestrian lanes, which I’d only tag as part of the roadway, commingled with the roadway’s name of course.

1 Like

I did not provide examples, I might have chosen an ambiguous wording. A Gehsteig (sidewalk, as far as I understand) is separated from the carriageway (Fahrbahn) by a kerb most often. If so, it must not be signed (there is a sparsimony doctrine in the works. But ground markings may be used as well where the commune short on budget.) If it was signed, it would become a Gehweg (walkway) instead. Never mind, both are footways (Fußwege), which is not a legal term, but colloquially understood as a means of transport, e.g. in itineraries to tell the distance in time, not meters or to tell, that the way most only supports that kind of mode.

PS: Some few streets have more that one carriageway: A main carriageway and a side-carriageway (Motorists must not use those unless forced in order to reach some certain location.) I do not think this plays a role in the naming of sidewalks, at least not in my jurisdiction.

1 Like

In between, the whole cycleway thing happened, still going on, very much like the newer sidewalk/footway phenomenon.

Key difference:
Foot traffic by default can cross the road anywhere. Cycle traffic in many places needs a designated or allowed crossing (or dismount); in many other places bicycles can cross anywhere, just like pedestrians.

Essentially, as long as the mapping reflects reality and provides the information, this is a data user’s problem, but IMO we should to be pragmatical about usability of the information.

If pedestrians can cross the road anywhere and there are no clear and sufficient designated/allowed crossing places, I prefer tagging sidewalks/foot lanes on the way representing the main road.
If the sidewalk is physically separated and crossing anywhere is clearly not intended, and there are designated/allowed crossing places, it’s fine to map them as separate ways, at the discretion of the mapper (or community consensus, I’m told it still exists).

Nonetheless, if I imagine being a data user for routing/navigation, seeing this development in ever-increasing micromapping, I would have to consider how to avoid unnecessary detours where simply crossing the road is possible and allowed. It’s not very easy, I think, but there are many clever people out there. Usually, if I think of something, someone somewhere has already solved it.

4 Likes

When I map separate sidewalks, the questions I ask include:

  • Are there “defined” crossing points (with at least a modified kerb) at reasonable intervals along the road
  • Would adding the separate sidewalk be useful to me planning a running route?
  • Does adding the separate sidewalks and crossing ways allow better description of accessibility features?
  • Would adding a separate sidewalk create unnecessary detours?
  • Is there a signed walking route where markers are small and on only one side of the road? (This applies to most of the walking routes in London like the Capital Ring.)

Unfortunately, we also have a lot of mapping for of decorative sidewalks mapped purely for the renderer. If someone draws a pretty red dotted line around a block without connecting it to anything, it’s pointless and rather silly, but at least it’s harmless. A worse case of decorative sidewalks is where they’re added along the streets of Victorian terraced houses which are so common in British towns and cities. It’s quite common to have lengths of several hundred metres of sidewalk uninterrupted by driveways (the front garden isn’t big enough for a car) and junctions which may or may not have crossings. They can create very long artificial detours on quite residential streets which can be crossed anywhere. When mappers add decorative sidewalks, they rarely bother to map accessibility features which might provide some sort of justification and never set sidewalk:$side=separate on the parent street. Perhaps promoting the undocumented area:highway=sidewalk and having it rendered at high zoom would satisfy the micromapping instincts which result in this :slight_smile:

A couple of years ago, we had a plague of separate sidewalks added in west and north-west London by organised “mappers” who found an even more pathological way to do it: they added lots of fake crossings in order to make it “work”. Luckily, they didn’t reply to changeset comments and got blocked by DWG, so I was very happy to delete their crap from minor roads and fix it on main roads.

4 Likes

I think it might depend on jurisdiction (e.g. jaywalking and related laws).

(And yes, at least in some jurisdictions, when cyclist dismounts, they become regular pedestrian with all related pedestrian rights; but that need not hold everywhere)

I think even when sidewalk is mapped as separate highway=footway + footway=sidewalk, you could (and should) put e.g. sidewalk:left/right=separate on its parent highway=residential (or whatever).

That way the router can use that information to allow “jumping” from sidewalk to road (IOW use it in a same way as if it was tagged with simple e.g. sidewalk=left or sidewalk:left=yes without separate sidewalk way)

1 Like

That at least should be relatively easy to detect by your favourite QA tool and thus allow for fixing (something to do for those rainy days when one is confined to armchair mapping).

1 Like

It’s been on my list of things to do for London for some time, using PostgreSQL on my local copy. The question is, do I want to change sidewalk=both to sidewalk:both=separate when it’s just decorative?

I recently created this map view that doesn’t show secondary and above roads unless there’s some sort of sidewalk tag that suggests that it’s walkable (one of the plethora of tags that mappers use for that).

The same vector tiles with a “normal” view are here.

1 Like

The A34 west of Newbury seems odd, though.

That’s because it’s a “pretend motorway” - shoulder=both is set but expressway=yes isn’t used by the map rendering to say “actually, you can’t walk here” (and should be).

shoulder is pretty useful in Ireland to show where you can walk along a road without using regular car lanes.

Edit: I’ve fixed that, and the Newbury bypass no longer looks walkable. The snails were unavailable for comment.