sidewalk tagging on cycleways

For start: sorry for English

I write as I am one of contributors to StreetComplete and recently quest adding sidewalk=* tags on highway=cycleway was proposed. It is proposing using tagging which was unfamiliar to me and likely Netherlands specific so I want to confirm that it would be a good idea.

See https://github.com/streetcomplete/StreetComplete/issues/3785

As result I have some questions:

BTW, if someone spotted some systematic issues with StreetComplete or has some suggestions AND is refusing to or unable to use GitHub - feel free to mention it

Welcome here, Mateusz!

The Dutch Taginfo webpage for highway=cycleway tells me that segregated=* is over twice as common as sidewalk=. Therefore my personal preference would be something that includes access tags and segregated= rather than sidewalk=*. This is also because the term sidewalk sounds more as something that applies to streets with motorised traffic.

Seggregated was added a lot when josm complained about any cycleway without seggregated=*. Sidewalk however contains much more information (i.e. direction and the presence of a distinct separation, not just a painted line on the road). So where segregated=no would imply there’s also no sidewalk, sidewalk=left/right/both would be preferred if there is (and are also the tags I would add if there is a sidewalk, which is much more common here than no sidewalk but a painted line). I’d say your wiki page is fully accurate.

(Also I would disagree with access tags; if there’s no sidewalk (and it’s not a motorroad, nor an explicit sign forbidding pedestrians), then pedestrians are allowed on that road or cycleway)

Except that here in the Netherlands sidewalks are both legally and by design something that is used alongside cycleways too. Sidewalks often continue from running beside a road to running beside a cycleway. Mateusz is used to combined foot- and cycleways, which we don’t really have, but are common in countries that do not yes have as progressive a policy for road layout favouring cyclists as we do.

We have, ignoring rare exceptions, cycleways that either explicitly allow pedestrians because there is no sidewalk, or which do have a sidewalk which is then mandatory for pedestrians.

Of course we do use segregated=no, because it was pushed by validators, and because all of our G11, G12a, and G13 cycleways without a sidewalk are foot=yes and segregated=no by definition. Excepting rare cases, we shouldn’t need segregated=yes because sidewalk=left/right/both already implies that.

A big drawback for the Netherlands is that a combined foot- and cycleway is aligned in the middle of both ‘lanes’, whereas streets and cycleways with sidewalks are aligned in the middle of the carriageway (i.e., the middle of the cycleway for cycleways).

So with sidewalk=* tags you would align the cycleway like this:

Without sidewalk=* but with segregated=yes you are declaring it a combined foot- and cycleway, and would have to align it in the middle of both. This goes against current mapping practices, and leads to weird jarring transitions where sidewalks stop or branch of (as is the case here).

For the Netherlands, sure. But I would caution against adding sidewalk=no everywhere, because a large portion of our cycleways lie outside of build up areas and tend to have no sidewalk. Similar to general roads, many mappers dislike adding sidewalk=no to each and every road. In those cases segregated=no seems more useful because it is already part of presets and validators. When there is a sidewalk, sidewalk=left/right/both is good and segregated=yes is then implied.

I would also ignore all cycleways with segregated=no. Those imply the absence of a sidewalk already.

Don’t forget to consider sidewalk:left and sidewalk:right too, so StreetComplete shouldn’t ask for cycleways that have those tagged with suitable values already.

Mateusz: this may help as well to see why we do have actual sidewalks next to cycleways:

Dutch street on Google Streetview

This is a fairly typical layout of a larger urban street: the road in the middle, parking and greenery next to that, one-way cycleways next to those, and finally sidewalks. At crossings in particular the sidewalks don’t necessarily follow the same path as the cycleways. A typical way of mapping these streets is to have highway=cycleway on both sides of the highway=tertiary/secondary, and to tag those cycleways with sidewalk=right.

Another example.

Here the sidewalk ends (because it is presumably safe enough to have pedestrians on the cycleway there due to less traffic), but the cycleway continues. Just as with a road you wouldn’t change the alignment of the way in OSM at that point, nor would you change physical features such as smoothness (an attribute appreciated by many cyclists) and width. With sidewalk=* the appropriate values for the sidewalk can be tagged in the sidewalk namespace, same as with streets.

I wouldn’t say sidewalks next to cycleways is an exclusively Dutch phenomenon though. We simply have much, much more of them due to historical choices made and our cycling culture.

Strongly prefer using sidewalk=* instead of segregated=yes in the Netherlands. Both legally and by design these are cycleways with sidewalks.

For the Netherlands, foot=yes is included in the default access for highway=cycleway.

Adding explicit sidewalk=* to all cycleways is fine with me. segregated=* should not be tagged explicitly as it is implicitly set by sidewalk=*.

With these clarifications about sidewalks I have no problem with changing my opinion and supporting sidewalk tagging on highway=cycleway.

I wonder if this has implications for existing highway=path + access tags + segregated=*.

Thanks for bringing this up, Mateusz!

I’m a strong proponent of adding sidewalk=right|left|both to Dutch cycleways where applicable, for the reasons stated by my esteemed colleagues. I’ve covered my area pretty well in that sense.
I’ve been adding segregated=no to indicate absence of sidewalk. It might be more stringent to use sidewalk=no, instead, and to get rid of segregated on Dutch cycleways altogether.
Shall we agree on that?

Exception, of course: foot=no|use_sidepath (use_sidepath wasn’t mentioned so far). If pedestrians aren’t allowed, there’s no reason to expect a sidewalk. That doesn’t happen a lot, though. C16 signs are rare. And sidewalks are typically not mapped separately (in which case use_sidepath would be called for) but included in the cycleway. Which is why this discussion is so useful.

I’ve also used segregated=no to indicate that there’s no sidewalk **and **no other form of segregation. However, getting rid of segregated altogether wouldn’t cover everything: there are a few, rare instances in NL where there’s no sidewalk but there is a segregation in the form of some paint. (Spoorbaanpad Almere; cycleway Goffertpark and the renovated Waalbrug cycleway (west side) Nijmegen, Galigaanpad Rotterdam for instance).

So I would actually ‘stick’ to the scheme of:

  • Nothing at all → segregated=no (implying also sidewalk=no). Usually outside of residential areas
  • Just some paint markings of a human and a bicycle on the road → segregated=yes + sidewalk=no (rare, usually bridges and in some parks)
  • A sidewalk directly attached to the cycleway (typically different pavement, usually with a curb of some kind, …) → sidewalk=[side] (implying also segregated=yes). Usually inside residential areas or places with many pedestrians
  • Mateusz: in all three cases, the traffic sign would be just a regular cycleway traffic sign (usually round, blue with a bicycle in it, or a bicycle and a moped, or a rectangle with the word “fietspad”).

Mateusz, witam! Nasz forum jest twój. Bardzo miło z twojej strony.

Thanks a lot for bringing this up! This is a interesting discussion that will probably alter my cycleway tagging (and perhaps also other roads). Until recently, I also added segregated=yes to cycleways with a separated sidewalk for pedestrians. I agree that adding sidewalk=right/left/both adds a lot more relevant information.

Hope this discussion helped you as much as it helped me!