In Nederland, an official zebra crossing includes a traffic sign L2, and the stripes can have prescribed size limits and colours. Colours? Yes, e.g. the zebra pattern can be brownish/reddish and whitish/greyish paving stones. But the pedestrian priority does not require the L2 sign, and if the sizes and colours do not fully meet the requirements exactly it’s still a pedestrian crossing with pedestrian priority.
So, crossing:markings is the tag to set; crossing_ref=zebra only adds that it meets the official requirements posed to the operator.
Sidebar:
Personally, I do not intend to check colours, size and signs for all crossings. We have a Dutch JOSM preset that sets the tag though, so I am sure that many mappers do set crossing_ref=zebra without checking. We will probably do a cleanup some time in the future, setting crossing_ref=zebra only when there is an L2 sign and removing it for all other zebra marked crossings. (We have an official source for the signage).
In the meantime, I have started to add crossing:markings=zebra to all zebra crossings, using a data source which used aerial imagery to detect zebra patterns. Lots of false positives and false negatives; still, I estimate that over 95% is actually a zebra-patterned crossing, and most of the false positives are recently removed or shifted zebra crossings, which can be verified by more recent imagery.
I am not yet removing crossing=zebra set by other mappers.
What you’re seeing might be the result of @Peter_Elderson’s edits across the Netherlands in a large number of local changesets over the span of some weeks or months. He doesn’t view it as shifting the tagging style, though the chart you pulled up might make it look that way:
True. I added many unmapped zebra’s, and initially took the simplest existing style. The idea was to map as many as I can first, and worry about the best tagging later. For already mapped zebra’s, the main concern was to add the zebra information as easy as possible, without losing other information. E.g. zebra’s tagged crossing=marked, I changed to crossing=zebra, which adds the word zebra as a more specific value for the marking. If I encountered crossing:markings=yes, I changed it to crossing:markings=zebra. When I encountered e.g. a series of zebras around a roundabout, typically mapped in different styles by different mappers, I selected all and added crossing_ref=zebra.
Now, I have changed my method a little, anticipating a systematic cleanup when we’re done adding the new zebras. I am no longer adding any crossing=zebra tags, so the quick rise has stopped.
after criticizing the iD maintainer for unilaterally introducing crossing=zebra many years ago, I subsequently have adopted this tag (because there were many of these by the time, and it actually worked for the situation here, “uncontrolled” always seemed ugly for markings controlled crossings), just in time that the said developer introduced a new tag again, “marked”, which I found to be too unspecific.
Can you explain why you are refraining now from adding crossing=zebra tags, although you described it as the simplest existing style that works to add the zebra information?
Another, mostly unrelated question: is there a way to map whether there are traffic signs at the crossing node?
I see crossing=zebra as the starting level mapping. For detailed mapping, markings, traffic control, islands and other details are tagged in secondary keys, making crossing=zebra redundant.
While adding zebras, I started to correct wrong mappings of crossings: bicycle crossings mapped as pedestrian crossings; crossings just mapped as highway=crossing which is totally useless; crossing=marked+crossing:markings=yes; that kind of nonsens…/ I mean, non-specific information. Crossing_ref=zebra was often not applicable. And, many existing zebras have been altered to pedestrian crossings with different markings.
So I have changed my method from simple tagging (adding crossing=zebra) to detailed tagging (adding crossing:markings=zebra|dots|dashes, crossing:signals=yes|no, crossing:island=yes)
There really should be. I’m surprised we haven’t established crossing:signed=yes/no alongside the several other *:signed=yes/no keys that are used in the thousands or tens of thousands. Maybe it’s because of an overreliance on an assumption that any signalized or marked crossing is signposted, but that isn’t necessarily the case everywhere. Or maybe some countries are content to imply signedness based on certain crossing_ref=* values, but this isn’t very transparent to data consumers. A few potential StreetComplete quests would be unwieldy and not as reliable because we aren’t tagging signedness. It’s possible to map the physical sign as a traffic_sign=* node, of course, but you can’t map the absence of one as a node.
I see it the other way round, for a zebra crossing, crossing:markings=zebra is redundant. After all, “crossing” is supposed to be the main tag (after highway=crossing) to determine the type of crossing. Traffic islands are another, unrelated question and we have tags for it.
For traffic signal controlled crossings, crossing:markings=zebra / other could be seen as relevant (e.g. if you want to render detailed views, e.g. in 3D, it is interesting), although I don’t think it is very important compared to the fact there are traffic lights. Zebra markings on signal controlled crossings may occur in some places, in others they don’t exist, and I have seen not so rarely people adding zebra crossings where there actually were traffic signals, something we should raise awareness about.
I agree crossing:signed would be the expected tag. For the question of a sign requirement, in Italy signs are required only for pedestrian crossings that are distant from road crossings.
This is why I’ve been advocating for crossing:signals=* to go alongside crossing:markings=* (for signals, not signs). The specific configuration of an unmarked but signalized crossing is an important one that shouldn’t be conflated with other configurations just because it’s unheard of in Europe. In some countries, the markings are merely a matter of engineering judgment; motorists don’t notice pedestrians at an unmarked crossing like at a marked crossing. Elsewhere, this key still gives mappers the ability to distinguish unknown signalization, which prevents them from diluting information about configurations with known signalization.
I‘ve also drafted a proposal for more detail in countries where a Boolean value is inadequate, again because signalization is so important. If there aren’t dedicated pedestrian signals, then a motorist is even less likely to notice a crossing pedestrian as they make an unprotected turn.
Indeed, there are six reasons why longitudinal bar (“zebra”) markings may appear at a crosswalk in the U.S., and five of them are relevant to a signalized crosswalk. Some cities like New York install zebra markings exclusively, because their crosswalks are so busy and so wide that normal transverse lines would lose their visual meaning. Other cities only install zebra markings at signals when a younger, less traditional traffic engineer happens to be involved in the project.
These are all reasons to keep the tagging for markings, signs, and signals as distinct from each other as possible.
I agree, many agree, but there is no consensus nor dominant usage about what characteristic constitutes a main type. I think markings and control method are both secondary characteristics of crossings, and all combinations of markings and control are present IRL.
I’ve gone over the proposal again and fixed some issues. If there are no more comments that require changes I’m going to start the vote in the next days.
Sorry, a bit late reply because of other reasons but I had been planning to make a poll for NL on how to tag dutch zebra crossings because in that topic I saw still quite some enthousiasme for crossing=zebra.
Indeed crossing is the main tag and should ideally convey the first level split up in types of crossing. Looking at the current possible values for the crossing key I think only crossing=traffic_signals is a good first level split up.
uncontrolled is just “no traffic signal” and the same holds for marked/unmarked while I see marked/unmarked no as good first level split up.
In countries where a zebra crossing means pedestrians are afforded precedence over vehicular traffic, crossing=zebra would be a good first level split up and that is I think the reason for the enthousiasme for crossing=zebra. But likely a good alternative in the line of crossing=priority could also suffice.
Why is priority important? Because route planners can assume the crossing time is lower for pedestrians/cyclists. At the same time car navigation can warn the driver a crossing is coming where the must yield if there is crossing traffic. Notice that not any crossing subkey for this AFAIK.
In the long arc of time, we’ll be mapping highway=give_way along sidewalks at approaches to roadways, except when the sidewalk is already tagged priority_path=yes. Someday!
The issue with doing that is that crossing=zebra is not documented anywhere as meaning something about priority. There is no guidance on in what areas a crossing with the value zebra (too many of them are not zebra crossings) is supposed to mean that, even your wikipedia link states that priority heavily depends on the region and the crossing setup. As a result no one can assume that crossing=zebra means priority, the only thing that can be assumed for certain with this tag globally is crossing:markings=yes.
I’m not really a fan of this specific tag as it clashes with the other values, such as uncontrolled/unmarked.
A new key for priority would be good for sure. Some values of crossing_ref imply priority already, but it is rather inpractical to need an official crossing type and having one for every country would create an insane amount of values for a single yes/no question. I’m somewhat surprised priority has not been considered important enough to tag yet, even the use of priority_road for street intersections is very small (basically limited to Germany).
I’ve loked thru a couple routers during the creation of this proposal and most of them seem to assume crossing:markings=yes and absence of signals means that the pedestrian has priority, not really satisfying.
It always means that the crossing is marked, too. Would be too simple otherwise
crossing=uncontrolled itself should abandoned. Zebra Crossings etc in UK are “controlled” crossings. “Uncontrolled” refers to those without traffic control, ie priority control, or signal control.
To make matters worse, “informal” in UK official terminology is synonymous with “uncontrolled”. It doesn’t refer to logical crossing location formed naturally at intersections between street corners, but can include islands and dropped kerbs, if not also crossing:markings=surface non-statutory.
So for 72.5% of the crossing nodes indeed the priority could be (better) tagged with highway=give_way / priority_path=yes although I still think it is good to tag it on the highway=crossing node as so that if you travel on the road you only can check the crossing node and do not have to check the crossing way.
It was not my intention to do this discussion over.
On Wikipedia priority
I think you did read only the Intro and got from that what you like. If you read the Zebra crossings by country you will find nowhere that a zebra crossing does not have formal priority. Searching for the US it looks to me you still have formal priority.
My point is that the current values for crossing do not give valuable information apart from crossing=traffic_signals and crossing=zebra.
The three most used tags uncontrolled, unmarked, marked lost their (small) value when crossing:markings was introduced and got popular.
Well, well… in Germany, on a combined foot/cycleway, a zebra-crossing gives priority only to pedestrians – not to bicyclists crossing the road on the zebra crossing. You actually meant priority=foot, correct?
Zebra crossings that double as cycle crossing have a line of dashes or square dots here (Italy), and when not at corners also signs,
Usually cycle crossing sign over footcrossing sign. Signing not a hard and fast rule, you find signed at corners and no signs middle of the way, not reflective of what the traffic regulation say, but it’s improving fast the last few years.
When doubling, I tag e.g. crossing:markings=zebra;dots
PS: I’ve come to think of the crossing=* tag as the safety aspect, uncontrolled, traffic_signal, unmarked, and crossing:marking=* as the surface layout.