[Tagging] RFC - Discourage railway=preserved

Jeroen Hoek mail at jeroenhoek.nl
Wed Apr 14 07:25:12 UTC 2021

On 14-04-2021 08:57, Stefan Keller wrote:
>> So you want to use railway=rail;preserved ?
> For example.

While multiple values in a tag is inherently possible in OSM, there are
a number of important tags that by convention do not do this to make
live easier for data consumers such as navigation software and rendering
frontends. The most famous example is highway=*, which really only takes
one value. Adding a list would remove it from most navigation software
and stop its rendering almost everywhere.

railway=* as the rail version of highway=* follows this pattern. The
downsides to establishing a convention of multiple values here are quite

> "railway:preserved=yes" is only half of a boolean, containing only
> "yes / true - no use of "no".

Not really. The convention is that a lack of this tag means that is not
a preserved railway line, and the presence of it that it is. Other
values than 'yes' currently have no meaning. This is not an uncommon
pattern, and it leaves room for specification within the tag, e.g.,
railway:preserved=railcycle might be useful, while still acting as a
'yes'-value for data consumers.

Being able to optionally use railway:preserved=no as well actually has a
benefit for cases where mappers might erroneously assume that a stretch
of rail is part of a preserved line while it (by way of exception) is
actually used by conventional train traffic. Tags like oneway=no act in
the same way. They are not needed for data consumers, but tell other
mappers that to be weary to change this tag to yes (with the
accompanying note often detailing the reason).

More information about the Tagging mailing list