Talk:Key:non existent levels

From OpenStreetMap Wiki
Jump to navigation Jump to search

non existent levels in the US

The common non existent level in the US, I think, would be 13. However because in the US we refer to the ground floor (`level=0`) as "the first floor", the "thirteenth floor" would be `level=12`. Looking at taginfo, I don't see any 12.

Assuming I have this right, could you add a reminder for the US, that `level=12` is what we probably want?

Alternately: it would make sense to me for `level` to refer to a zero-indexed "physical" level, while `level:ref` refers to the "colloquial" level. Which means "non existent levels" would be better called "non existent level refs". And then even in the UK, `level=13` would still exist, but it would be `level:ref=14`, and then `level=14 level:ref=15` and so on. But looking through the Wikis, I don't think this is how levels work. —Preceding unsigned comment added by Orblivion (talkcontribs) 17:00, 21 October 2024


Logically, to my British mind anyway, you'd put non_existent_level:0;13 in that situation and then any consumers of the data would have to do the necessary logic. However this would mean adding non_existent_level:0 to nearly every building in the US.
The alternative approach is to put level:ref for everything, so it displays one number less than it's "true" number according to OSM logic. That is even more work.
I've done non_existent_level:0 for Sheffield Student Union (the rare British building that doesn't have a level zero or "ground floor" because it's built on the side of a hill). It felt like the easier option.
--Plop the owl who was afraid of the dark (talk) 12:06, 2 April 2025 (UTC)
I don't find the poorly defined non_existent_levels=* worth salvaging further, as it easily mixes up the numbering of level=* indexes with level:ref=* wayfinding , and building:levels=* counting. It has very low use, not even exceeding 100 instances. Most are mass-added. https://taghistory.raifer.tech/?#***/non_existent_levels/
It could be proposed again as eg levels:ref:skipped=* (it's not "non-existent" structurally, but skipped in numbering) for listing skipped floor numbers on building=* , with clearer consensus on how it should be used. The other two min_level=* and max_level=* are similarly unclear, and should be updated with *:ref=* somehow. Simple_Indoor_Tagging#Building
—— Kovposch (talk) 07:06, 3 April 2025 (UTC)
Indicating skipped levels makes sense to me. However, the tag level:ref:skipped=* (singular) should be used. This would be based on level:ref=*. (levels=* is intended to be used for the total number of levels and levels:ref=* is not defined.) --Biff (talk) 09:21, 15 September 2025 (UTC)
level:ref=* is an extension of level=* in the first place. The semantic problem is level=* being used for what floor the feature is on, not what it has. Using level:ref=* on building=* would be awkward. Therefore level:ref:skipped=* isn't nice either.
As building:levels:*=* is already being used, building:levels:ref=* would show the floors the buildings have in terms of the floor numbers. building:level:ref=* might be an alternative skirting this, however namespacing it to mean *:level:ref=* in the building:*=* still doesn't have a good logic (there are complaints of this in other tags). building:level*=* is likely seen as a mistake of building:levels*=* , as Key:building:level documents.
Both building:level*:ref:skipped=* will be very long. In comparison, levels:ref=* seem appropriate.
It's uncertain how building:levels:underground=* and roof:levels=* should be treated. That being said, building:level*:ref=* better corresponds to building:levels=* for consistency, meaning it's not ideal for listing out all floors.
building:min_level=* is different. It refers to an exact floor.
—— Kovposch (talk) 06:52, 16 September 2025 (UTC)
I understand the existing tags as follows:
  • level=* indicates the level that a feature is on - either a single or multiple levels. (I don't see a problem with using this tag with a building. It simply means that the building extends over all given levels.) level:ref=* is an extension to indicate the locally used "name(s)" of the level(s) that a feature is on. An additional positive aspect is that it even works if level=* includes half levels.
  • levels=* indicates the total number of above-ground levels that a feature has. levels:ref=* is currently not specified and I also don't see how it would make sense to indicate a "name" for the total number of above-ground levels that a feature has. (And it would have to be accompanied by levels:underground:ref and roof:levels:ref, which is just too cumbersome.)
  • The building prefix should only be required in case of ambiguities. In my opinion, it is specified for too many cases where it's not really necessary.
Any "skipped" extension, if proposed, should probably fit into the existing scheme. When looking at building:levels=* together with building:min_level=* I can imagine that in exceptional cases building:skipped_levels=* (or building:levels:skipped=*) might be useful to indicate a hole in a part of a building, like this one - but this wouldn't resolve the issue of skipped names. Maybe this should rather be included in level:ref=* in a similar way as holidays are treated in opening_hours=*: As a variety of level:ref=1-9;11-15, allow usage of level:ref=1-15; 10 skipped. --Biff (talk) 08:40, 17 September 2025 (UTC)
I think this tag is misnamed, it should rather be put into context. One could map a lot of non-existent levels ("infinite number"), I'd rather have "skip" in the tag name to make it more descriptive, e.g. superstition_skip=*. --Dieterdreist (talk) 08:13, 31 October 2025 (UTC)