Do we really NEED railway=tram_crossing resp tram_level_crossing?

Yeah, I was aware of this separation between road and rail (and fixing that in a couple places).

Good to see it wasn’t a service=driveway2 situation. Still fairly rushed, though (e.g. no link to these pages whatsoever up until just now — both are very important), else it felt like these tags were pulled out of someone’s backside.

I can slowly see this point. I can’t quite fathom this because the separation was largely past my registering (albeit not as clean everywhere, I should note) and moreover, there also are lateral crossings which would create “unnecessary” tramway crossings, though I also remember a period where StreetComplete asked the max height at any level crossing before it was disable at any tramway just for the amount of crossings.
(On that aside, in case railway=tram_crossing[1] ever gets deprecated, the rule for street running tramways should be transplanted to railway=tram_crossing.)

There is a reason why I see tramways as a form of light rail and at least in Germany, tramway crossings only need to be protected by barriers (at most single barrier, to be precise) for automated train operation and IIRC that is only needed at busy intersections.[2] Otherwise, the only protection needed are a saltire for an “exclusive” trackbed (Besonderer Bahnkörper) or none at all if considered street running (Straßenbündiger Bahnkörper).
And of course, there also is the issue railway=light_rail which itself is problematic in what even constitutes “light rail” but that’s really just a RL issue than an OSM issue per-se regarding the definitions of light rail. Where it does affect OSM is that, while not as common as with normal tramways, street running also is a thing (being one the main strength compared to proper railways which are legally forbidden to do so or at least require the streets to be cleared) but the default are full railway crossings instead of whatever fits the current situation.

In all fairness, this is a mixture of confusing definitions, bad naming but also of users who don’t read the tags descriptions (points at earlier me).
(This is why I justify the use of crossing:saltire=yes for any tramway crossing.)

Not that it of course make them any less of hack tags (in fact, that strengthens the point).

In all fairness, if railway=tram_crossing weren’t a thing, I’d simply go with railway=crossing for any non-street-running tramway alongside a combination with railway:saltire=* (and make the tag necessary for QA at least for railway=tram/light_rail).


  1. resp. railway=tram_level_crossing but mentioning that all the time would simply bloat the post ↩︎

  2. More accurately, if the trackbed is considered “independent to any highway” (Unabhängiger Bahnkörper) which typically means grade separation but not always. ↩︎