[Tagging] The actual use of the level tag

Tobias Knerr osm at tobias-knerr.de
Sun Jan 20 22:39:57 UTC 2019

On 20.01.19 19:37, Tobias Zwick wrote:
> - a shop on level M with "level=M"
> - the mall building with "levels=P2,P1,G,M,1-12,14-99" (the order of the
>   levels). If levels is missing, a numerical order is assumed

So essentially, one uses the local level reference in level=*, and
provides a mapping onto a standardized level sequence with separate,
building-wide tags.

Admittedly, I haven't really considered that yet. It's also interesting
because I would have suggested the exact opposite: Using standardized
level numbers in the level=* tag, and defining a mapping onto the local
level references for display purposes. This is pretty much the current
logic behind SIT.

One comparatively minor issue with your approach is that it becomes
harder for editors to provide basic indoor mapping support: Something
like the level switcher currently available in JOSM won't work any more,
because there would no longer be a consistent order of levels across
buildings. You would need to select a building to edit first, and use a
building-local level switcher. Manually-defined tag filters would
likewise need to be updated, e.g. in order to support level ranges
properly (a staircase tagged level=G-1 should be visible while editing
level M).

The main challenge I see with your proposal, though, is that the
levels=* tag on the building would be utterly required to make any sense
of the order of floors. Without it, applications would have no idea
whether "M" is above or below "P2", for example. So at the very least,
adding levels=* should explicitly be documented as mandatory when using
non-standard levels.

If we can get our fellow mappers to largely stick with such a rule, your
idea would work. So would the existing solutions, though, and that "if"
is something I am worried about.

More information about the Tagging mailing list