I have previously used GitHub - BikeOttawa/OSM-Bike-Ottawa-Tagging-Guide: OSM Bike Ottawa Tagging Guide which suggests crossing=controlled + flashing_lights=always/button (in my experience for PXOs it’s usually button), but I’m not sure if the tag crossing=controlled is going to survive users of validators of various editors, be it iD or StreetComplete or whatever.
I would suggest creating an updated tagging guideline that takes the different PXO types into account and suggests tags for them.
Would it be useful to tag the type of the PXO itself, for example crossing_ref:CA:ON=PXO Type B or similar? (e.g.)
Or perhaps we should try to identify functional features of the different types? For example Type A PXOs have overhead lights that shine down onto the crossing, so something like crossing:illuminated=yes? There’s about a hundred uses of crossing:light=yes for this in Toronto (e.g.) - I see now this is intended for railway crossings, but might be in an iD preset for pedestrian crossings too?
Is button_operated=yes needed when flashing_lights=button is tagged?
I have checked what StreetComplete, Every Door, and iD do with a crossing tagged crossing=uncontrolled and crossing=controlled and:
StreetComplete asks for crossing:island and tactile_paving if those are not tagged
Every Door has fields to select values for tactile_paving, crossing:island, crossing:markings, and flashing_lights (supporting button, yes, always)
iD has fields to select values for tactile paving, refuge island, markings, “raised” (adding traffic_calming=table) and flashing lights. crossing:light=yes does not appear to be selectable by default in iD
none of them suggests to change controlled to anything else
So:
feasibly we could keep crossing=controlled and it won’t be resolving-issues’d at least for now
of PXO characteristics, flashing_lights=button appears to be the most widely supported
Unless there’s a risk that Québec or Michigan has deemed a crossing in Ontario to be something other than a PXO Type B, the CA:ON: qualifier can probably go in a normal crossing_ref=* tag rather than a separate crossing_ref:CA:ON=* subkey. However, this would fragment the existing collection of crossing_ref=pxo, making it slightly more difficult to query for PXOs in general. Another option would be something like designation=pxo_type_b, since for better or worse, designation=* values are already implicitly regional.
Ah yeah, that makes sense, better idea - thanks! crossing_ref=CA:ON:PXO:Type B?
Oh interesting, I haven’t actually seen that tag before - looks to be used in Ottawa. Maybe we could even use something like crossing_ref=pxo:Type B since per Taginfo it doesn’t look like “PXO” is used for anything else anyway.
To me it’s still an open question if it’s worth tagging the “type” as opposed to only its features (crossing:markings, crossing:lit, flashing_lights), and if yes, what to do about any potential crossings that don’t exactly match the “type” examples.
I’m not particularly familiar with the type classifications for PXOs or what folks may consider important about them.
In general, renderers and routers can readily interpret tags like crossing:markings=* and flashing_lights=* literally. Data consumers can use crossing_ref=* too, for hyperrealistic rendering. However, most common values don’t specify a region, so the data consumer would have to infer that somehow – that could hamper uptake a bit. Unless editors try to infer a formal type designation from a combination of crossing tags, other mappers may appreciate crossing_ref=* as a high-level “summary” of the other tags.