|Zero-based floor number of a feature (where 0 is the ground level and -1 is the basement).|
|Used on these elements|
|Status: de facto|
|Tools for this tag|
Use level:ref=* to specify the marked floor number for multistory buildings and structures (room numbering, elevator buttons, parkade levels) where this differs from the level value.
For typical street, waterway or railway crossings over bridges or tunnels, layer=* should be used instead. Roads or other ways passing through buildings should be marked with tunnel=building_passage; they should be only marked with level if there is a strong relation to the corresponding level of the building.
The value of the level=* is numerical and used to denote the vertical order of the floors. Usually, level=0 is the ground floor, level=1 the floor above it and basement floors start with level=-1. However, if a building sits at an uneven elevation, the numbers begin at the lowest exposed floor for consistency with the Simple 3D Buildings specification's building:levels=* key. For example, a shop located in a shopping mall's fully underground basement would be tagged level=-1, whereas an entrance to a house's walk-out basement would be tagged level=0.
A building may skip certain level numbers, such as floor 13 in Western countries or floors 4 and 14 in Chinese-speaking countries. Tag the surrounding building with, e.g., non_existent_levels=13 to prevent data consumers from miscounting features on floors above the skipped level.
Ground floor number
This key's zero-based numbering scheme is consistent with the floor numbering system used in many countries including the United Kingdom. However, it differs from the one-based numbering scheme used in many other countries for both wayfinding and addressing. There are also countries where both systems are in everyday use. Moreover, idiosyncratic numbering systems are used in individual buildings throughout the world, especially in large, complex buildings such as shopping malls, hospitals, and airports.
In general, the level=* key ignores these distinctions in favor of the zero-based numbering scheme, because the level=* key was originally envisioned as a machine-readable key for 3D building rendering. Data consumers that support the Simple Indoor Tagging require values to be numeric and consecutive, even for basements and mezzanines that in reality are known by unpredictable mnemonics such as "B", "B1", "G", "M", and "2M".
level=* values are largely zero-based even in many regions where the one-based numbering system is prevalent in everyday life. However, mappers overwhelmingly skip 0 in Kazakhstan, Korea, and Mongolia, beyond any rate that could be explained by mappers treating 0 as an implicit default value:
|Country||High occurrence indicates zero-based usage||High occurrence indicates one-based usage|
|0||0 (%)||-1||-1 (%)||1||1 (%)||B||B (%)||G||G (%)|
Regardless of each country's local tagging convention, inexperienced mappers unaware of the convention may occasionally tag level=* based on the one-based system. Some one-based tagging may have also been introduced because of a previous version of this article. Data consumers may be able to account for some discrepancies in floor numbering. For example, if some features inside a building have a level=* value greater than the building's building:levels=* value and none of the features in the building is tagged level=0, then a data consumer could decrement all the level=* values by one.
When a building uses non-numeric or otherwise non-standard floor designations, tag the individual features on a floor with level:ref=*, ideally in addition to level=* to prevent mishandling by data consumers. For example, the Siam Paragon mall in Bangkok consists of the following floors: B, G, M, 1, 2, 3, 4, 4A, and 5.. A shop on level 4A can then be tagged with level:ref=4A.
Tagging shops exclusively with level:ref=* can be problematic because a data consumer cannot reliably determine the relative vertical order of each floor in the building. To consolidate this information, the Simple Indoor Tagging scheme suggests creating an outline for each level, tagged with indoor=level, adding both level=* and level:ref=* to it. This also works the other way round - if only level=* is defined on the individual shops.
Level range: level=-1;0 room=yes is a room which goes over (spans) two levels. It's the same room that is accessible on both levels. Often there are doors to each one. If a room is repeated on multiple levels, meaning it's a different room but it looks/functions identical, draw one element for each room or use repeat_on=*.
Similarly a staircase could be tagged with level=-1;0 meaning that it connects the two levels.
|If the building skips 13,|
add non_existent_levels=12 to the building.
- layer=* - Used to mark the vertical relationship between two crossing or overlapping features, e.g. bridges and tunnels at highway or railway junctions.
- building:levels=* - The number of above ground levels in a building (if there's only the ground level, this is 1), not including the levels in the roof (use roof:levels to state the number of roof levels).
- addr:floor=* - The floor an apartment/flat is located.
- repeat_on=* - For features that repeat on several levels / floors where similar copies of a feature can be found at the same position.
- tunnel=building_passage - A passage through a building, normally as an archway or overhang.
- Indoor Mapping
- level:ref=* - For the marked floor number where this differs from the level value.