[RFC] Feature Proposal - Train protection tagging

Hello everyone,

this RFC adds a new train protection tagging scheme, which aims to be better processable by style parsers and other map querying programs.
The old keys would be deprecated afterward.

https://wiki.openstreetmap.org/wiki/Proposal:Railway:train_protection

Please discuss this proposal on its Wiki Talk page.

Please, cross post this announcement on the tagging mailing list on my behalf by sending an email to: tagging@openstreetmap.org

Is there a particular meaning to the order of values in the railway:train_protection=* tag? The proposal claims that a single tag would be less work for data consumers than checking an arbitrary number of subkeys of railway:train_protection:*=*, but it could potentially be more work to check an arbitrary number of permutations of railway:train_protection=* values unless there’s a meaningful order or predictable sort order.

In the past, there has been a broader debate over the merits of namespacing in general, but maybe rail mapping specialists can skirt this issue based on the typical combinations?

The current iteration of the proposal introduces railway:train_protection=* as well as railway:train_protection:*=*.

The issue it is going to fix is that the current tagging is railway:*=*, combined with the non train protection railway:*=* tags in use no one can tell what tags are about train protection. Additionally there is no way to tag that a track has no train protection, you can only tag that certain systems are absent. Since a data user can neither tell that a railway has no train protection for sure, nor check if there is an to it unknown train protection tag on the line a lot only works by educated guesses.
For example you can tag railway:pzb=no on a line in the US and the renderer will assume there is no train protection and render it black since it doesn’t know that the tag railway:cbtc=yes on it is a train protection. In fact most of the current no train protection styling on ORM is wrong and should be unknown what is not fixable on the software side due to the namespace used.
You just want to be able to check if there is any train protection on a line.

1 Like