What's up with the crossing_ref tag?

This warning was added last year to rebut a different warning from the previous month claiming that crossing_ref is purely about signs and signals rather than markings.

The source of all this confusion is the original proposal to move the zoo animals from crossing to crossing_ref. In addition to misusing the term “uncontrolled”, it defines crossing_ref as a “traditional, region-specific reference” without defining “reference” – is it a number? Kidding aside, it’s most commonly understood as a typology for the overall crossing configuration. Most of the configurations entail a particular marking pattern, even if they aren’t technically about markings.

crossing_ref wasn’t meant to be UK-specific; otherwise the rest of the world wouldn’t have to put up with the crossing=uncontrolled misnomer either. Rather, the proposal gave a few examples from the UK, which JOSM apparently misinterprets to mean that the entire tagging scheme is UK-specific. But other countries started using crossing_ref for their own regional crossing typology, as the proposal explicitly called for.

In the U.S., we only have two precomposed, named configurations for crossings: the pedestrian hybrid beacon (HAWK) and the exclusive pedestrian phase (scramble). Otherwise, anyone building a crossing can mix and match treatments arbitrarily. So the closest thing we have to a typology would be the variety of allowed marking patterns, which we historically put in crossing_ref. The note about “no consensus” probably refers to the fact that this usage conflicts with crossing_ref=hawk. Later, crossing:markings was approved, allowing us to use crossing_ref only for hawk without any conflicts.

Now that crossing:markings is approved and relatively well established, I don’t think the warning is necessary anymore.

For context, the proposal was originally for crossing:markings=continental, based on a 2005 traffic study funded by the U.S. Federal Highway Administration. The U.S. was relevant because there’s a greater variety of standard crosswalk marking patterns in this country than anywhere else. (In the last year or so, the FHWA has formally adopted the term “longitudinal bars” to describe this pattern, as opposed to “transverse lines”.) Before the proposal came to a vote, this tag was renamed to zebra because mappers in the rest of the world were more familiar with that word, and continental Europe has other marking patterns, such as dots in Germany.

While it’s true that crossing:markings only describes the appearance, the appearance alone can have legal implications depending on the jurisdiction. The FHWA recently published a guide that summarizes some of the legal implications and other real-world consequences of marking crosswalks, including that:

  • States that adhere to the Uniform Vehicle Code grant pedestrians more rights on a marked crosswalk than on an unmarked crossing.
  • In Utah, crossing:markings=zebra means the driver must wait until the pedestrian has fully crossed before proceeding, whereas crossing:markings=lines carries no such requirement.
  • California requires lines in addition to any other markings if the crosswalk is designed for low-vision users.
  • Arizona paints school crossings colour=yellow, implying a 15 mph speed limit. Violations at school crossings (in a school zone or along safe-routes-to-school) can carry additional fines.

These considerations are orthogonal to whether the crossing is signalized or part of a HAWK crossing configuration, so it isn’t appropriate for crossing_ref. Some routers may want to account for this nuance, while others may not, depending on the level of detail they provide.

Even where the markings don’t have legal implications per se, data consumers sometimes rely on heuristics that use tags as proxies for other tags that have less coverage. (For better or worse, the most well-known example is assuming a speed limit based on highway=*.) If a crossing only has crossing:markings=* but lacks crossing_ref=*, the router may choose to treat it like a particular crossing_ref=* out of an abundance of caution. Conversely, if a crossing only has crossing_ref=* but lacks crossing:markings=*, a renderer may infer a crossing:markings=* depending on the surroundings.

1 Like