I avoid the mixed-atrributes decision table for crossing values. Very often, markings are known but control is unknown, or the other way around, and it’s weird to exclude controlled zebra crossings from crossing=zebra, while on the ground nobody makes that distinction. If it has zebra stripes, it’s a zebra crossing, and if the zebra has traffic lights, it’s a zebra crossing with traffic lights.
Most of the time, mappers see the markings, but not traffic lights. Because zebra’s are very easily seen on aerial and satellite photography, but specific traffic lights are not.
Also, Nederland has many, many complex intersections of multiple carriage way roads having cycleways on both sides (or even in the middle) and sidewalks crossing the cycleways and the carriageways, with zebra markings. The pedestrian crossings over the carriageways are often controlled by traffic lights, but it’s quite normal that the control does not extend to the footway/cycleway crossings, or some directons are less important and have no control lights.
It’s just not practical to mix marking typology and control typology in one key, using an artificial value hierarchy.
Currently, I ignore the crossing key, unless it’s evidently wrong (e.g. crossing=unmarked when I clearly see dashes or dots).
I tag markings as crossing:markings=zebra|dashes|dots|lines|surface (not “yes”, because if I know it’s marked I know the markings);
and I tag control as crossing:signals=yes if I know it.
i gonna add to the mix
i wonder if Poland be the only country like this… but here…
You can have zebra painted, but if a sign on a pole is missing… this is not a marked crossing with all legal rules applying. It is in fact unmarked
So yeah, people can cross there and there is this new legal term “suggested crossing”, but they are not protected on it like they would be on uncontrolled or with traffic_signals
So in essence a mix of tags crossing=unmarkedcrossing:markings=zebra is very common and that’s why poainted markings and signage/signals should be defined by two separate tags.
In that case, it might be useful to also tag traffic_sign=PL:* on the corresponding crossing to make it explicit.
While at it, I just checked for Germany, and the zebra marking is in fact enough to mark it. Though it’s rather unusual not to have the corresponding sign next to the crossing.
This is a good example of why crossing=* is so bad. There’s 3233 features (Overpass Turbo) with crossing=unmarked + crossing:markings=zebra which is nonsense.
If we tag the objectively observable features on the ground, any region can work out what it means for them based on the combination of: crossing:markings=* crossing:signals=* (ideally extended with =shared|dedicated (proposed)) crossing:signed=* (proposed)
it’s weird to exclude controlled zebra crossings from crossing=zebra, while on the ground nobody makes that distinction. If it has zebra stripes, it’s a zebra crossing, and if the zebra has traffic lights, it’s a zebra crossing with traffic lights.
on the ground, everybody makes the distinction, of course. If there are traffic signals you will wait for a green light, that’s not a zebra crossing, it is a traffic signal crossing.
it is not artificial, it is how they are seen, and how the law defines them. Traffic signals overrule traffic signs (and markings are signs).
because crossing=unmarked refere to actual type of the crossing.
In one country it is one if there are no marking at all and in another it may be so when asphalt markings are present, but a sign is not. :markings are for defining what is painted on the surface and not for describing a type of sign or traffic signals. for that you might want to use :signals and :signed if you really need to, but the most important tag for legal purposes is crossing=* with one of the three values that perfectly describe on what conditions you can cross - although you still need to know local law, like being forbidden different behavious, like running or walking right in fron of a car even tho you had green light - those legal issues we likely wont fix)
People wrongly assumed that crossing=unmarked can’t have painted crossing markings. It can in Poland and it’s because road managers ignored existing law and still keep doing it.
wiki is wrong there with that assumption as well and i so hope someone see that.
I wont be tagging crossing:markings=no while the marking are actually there, its zebra and the crossing is definetly not unconrolled, hence it is umarked coz no sign is marking it (if that helps to illustrate)
but go ahead with those proposals, those are fine:
Consider that it’s Polish mappers who may be wrong, and not the documentation.
The idea that “Unmarked can mean yes, there are painted markings!” or that one should expect crossing=unmarked to not mean “This is an unmarked (aka, without road markings; aka, crossing:markings=no) crossing” and change that expectation based on region is unworkable.
Thankfully, this proposal puts momentum in the anti-crossing=* direction, we can move on with ignoring crossing=* and using :markings|:signals|:signed for what’s surveyable and, if you must, some regional crossing_ref=* or similar.
No, i treat crossing=(one of three types) as primary for describing to people what kind of leggally this crossing is and everything else as an addition.
People get confused all the time seeing painted zebra and not knowing it’s no actually a crossing they can cross safely.
You wouldn’t know eighter as not being familiar with the local law.
To keep it simple we use 3 different values for the crossing tag.
If you remove it, you just make it harder to know, coz they will have to know local law to figure out what different combinations of :markings : signed and :signals mean…
Anyway, if people dont want to understand that and start from scratch, i really don’t know if that solves anything.
maybe, but i’m iD mapping since a few years and i never ever saw use of this tag. Maybe i get convinced sometime, but still defining all common combinations of markings into one value that is unique to a country… not sure, but you can try, see what others have to say. I can’t add much more
That is one view. But I fail to see how “unmarked” can be a OSM-wide term for a legal type. It can be a country-specific term, due to the legislation in a particular country, and maybe they can even count crossings with clear markings as “unmarked”.
If there is talk about confusion (is there? yes, there is now!), there is one source: describing clearly marked crossings as unmarked.
Or describing a crossing without any zebra markings as a zebra.
We would probably have to prefix the crossing_ref value with a country code, so data users can look up the details in the country’s legislation…
AFAIK crossing_ref has meaning in the UK, but elsewhere it is almost exclusively used to indicate a zebra marked crossing. Some mappers probably have something of a legal concept or road-building instruction in mind, or “must have a zebra sign or a flashing light”, or “can’t have traffic_lights”, others only the markings. So in practice, data users can only be sure of: has zebra markings.
For better or worse, data consumers don’t currently make these distinctions. Nor do editor presets. However well-intentioned this concept, the tagging scheme has already run away from us. Maybe you can salvage it in some region and reinforce it with other keys, but let’s not kid ourselves about the scale of dilution globally.
As we see here, there isn’t even agreement among mappers about whether crossing=zebra refers to a specific marking pattern, markings of any kind, a legal designation, or a certain je ne sais quoi. And that’s before getting into the history of how mappers everywhere shoehorned their local assumptions into crossing=zebra for years, oblivious to the distinctions others were making, or crossing=uncontrolled changing in meaning over time without any coordination at all.
This is why I favor deprecating crossing=zebrawithout rushing to act on that deprecation en masse. Unlike many deprecations, most of us agree that this is a particularly complex situation not amenable to a one-size-fits-all solution. All the deprecation practically means is that a new mapper won’t have to confront a forum megathread just to know which tag they can apply confidently when mapping a new crossing. I think you underestimate how frightening this situation can be to newcomers.
To a mapper or data consumer who isn’t familiar with this (poorly documented?) rule, this combination of tags looks self-contradictory on its face. You really should reinforce it with crossing:signed=no or at least a note=*, in case someone comes along thinking one of the tags is mistaken and trashes this distinction in the name of consistency.
Look how long this thread about crossing=zebra has become, how many times it has gone around in circles. Imagine how much discussion crossing=uncontrolled would generate, especially when we bring railway=crossing and railway=level_crossing into the picture. Is it so simple after all?
Yes, a three-way typology would be elegant if you ignore the rest of the world. crossing_ref=* lets you do that with a modicum of additional keystrokes. By your logic, I and my fellow Californians should insist on a four-way typology for cycleway=* and a nine-way typology for railway level crossings, forcing everyone else to infer globally relevant characteristics from a local legal designation. Instead, we’ve gone along with less legally bound tagging schemes out of respect for the rest of the project.
Feel free to do that; it’s a very flexible key. That said, if namespacing is a requirement for crossing_ref=* to be useful, why has it not been a prerequisite for crossing=*? Maybe because crossing=* isn’t primarily about legal classification.
Several times. But it would help to simply start taking the keys and values more at face value, and stop confounding things.
Things that are particularly strange, such as tagging non-zebra crossings as crossing=zebra, or clearly marked crossings as unmarked, can be fixed without complex new systems. I have done that in Nederland, checked all of them, in a few months. It can be done, without losing any information, and while adding extra information (correct obvious mistakes, type of marking, exact location, adjust crossing ways) coming from the checks.
It’s still not ideal, but crossing=* is not that important any more, in Nederland.
We’ll get there eventually. This proposal creates a formal justification for mappers to migrate figurative crossing=zebra usage to something else. Once the same happens to crossing=uncontrolled and crossing=marked, which are also heavily polluted, crossing=* will be free to repurpose, for more literal keywords if you like.
I feel much the same way about the crossing=unmarkedcrossing:markings=surface combination in the U.S., where the authorities are adamant that an aesthetic surface treatment is not an actual marking. crossing=unmarked is really only there to prevent a misleading crossing=marked or crossing=uncontrolled from taking its place. Otherwise, it should be uninteresting to data consumers, because crossing:markings=* and surface=* are already self-explanatory. Once mappers no longer expect crossing=* on every crossing, such placeholders will be unnecessary.
You don’t need a formal justification to correct an obvious error, and the correct tagging is available, no need to invent anything. Just add crossing:markings=no|dots|dashes|lines|surface|zebra.
This will not happen spontaneously (or “by natural processes” as someone put it). A dedicated project lasting several months with enough committed mappers, using aerial images to check each and every crossing=zebra, will do the job. After that, mappers have no reason to tag non-zebra crossings as crossing=zebra.
The issue, as I see it, is that crossing=zebra currently has a status of de facto and a definition that is being interpreted less literally than you’re advocating for. This allows some mappers to insist that it’s a legitimate alternative to any other tagging scheme for marked crossings (loosely speaking), which they then consider redundant, creating confusion for mappers and data consumers alike. Pretty much the only way to dislodge a “de facto” tag with so much history is to deprecate it via some community process, such as the proposal before us. As we saw with waterway=riverbank, a deprecation doesn’t prevent a local or global community from preferring a different tagging scheme and methodically migrating to it.
I think a better way is to a. deprecate the incorrect interpretation via some community process, and to b. apply correct tagging of the markings and any other attributes, using the available established alternative.
As it happens, you can start with b. while a. is discussed. b. does not require a. “Less literal” crossing=zebra’s immediately profit from the extra tags.
Several countries have done this cleanup already, without deprecations. The US could well be the main problem here.
Certainly, figurative usage of crossing=zebra is prevalent in the U.S., but that’s the easy case, because there’s no such thing as “a zebra crossing”, other than the “zebra” marking pattern that you wouldn’t call “a zebra marking” in Europe. The harder case is anywhere else, where crossing=zebra is more ambiguous because it might have meaning or might be the result of an abstraction. After all, most crossing=zebra occurrences were added at a time when regional presets for crossings were unavailable and the most likely source of this tag was a globally available “Marked Crossing” preset.
Also, it’s worth remembering that the apparent end goal of this deprecation is the deprecation or deemphasis of crossing=* altogether. That can’t be explained solely by figurative usage of zebra.