Key:level
![]() |
Description |
---|
Zero-based floor number of a feature (where 0 is the ground level and -1 is the basement). ![]() |
Group: buildings |
Used on these elements |
Useful combination |
Status: de facto |
Tools for this tag |
|
The level=* key indicates the floor level where a feature (such as an amenity or shop) is located in a building. See Simple Indoor Tagging for further information.
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.
Highways (and other ways) can be also tagged with level=* when they are essentially bound to a floor of a building complex (such as multilevel parking buildings, railway stations or airports).
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.
Values
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 (%) | |
Belarus | 1,695 | 25.48% | 1,996 | 30.01% | 1,598 | 24.02% | 0 | 0.00% | 0 | 0.00% |
Canada | 9,801 | 46.69% | 2,024 | 9.64% | 5,827 | 27.76% | 0 | 0.00% | 0 | 0.00% |
Chile | 152 | 18.29% | 46 | 5.54% | 310 | 37.30% | 0 | 0.00% | 0 | 0.00% |
China | 3,618 | 25.06% | 1,680 | 11.64% | 3,880 | 26.87% | 0 | 0.00% | 3 | 0.00% |
Colombia | 263 | 10.70% | 1,568 | 63.79% | 301 | 12.25% | 0 | 0.00% | 0 | 0.00% |
Ecuador | 186 | 28.88% | 45 | 6.99% | 226 | 35.09% | 0 | 0.00% | 0 | 0.00% |
Finland | 3,232 | 34.10% | 742 | 7.83% | 3,149 | 33.23% | 0 | 0.00% | 0 | 0.00% |
Japan | 21,437 | 41.76% | 3,896 | 7.59% | 11,430 | 22.27% | 0 | 0.00% | 0 | 0.00% |
Kazakhstan | 44 | 8.71% | 31 | 6.14% | 337 | 66.73% | 0 | 0.00% | 0 | 0.00% |
Moldova | 131 | 44.71% | 7 | 2.39% | 51 | 17.41% | 0 | 0.00% | 0 | 0.00% |
Mongolia | 12 | 6.59% | 2 | 1.10% | 71 | 39.01% | 0 | 0.00% | 0 | 0.00% |
North Korea | 2 | 1.43% | 22 | 15.71% | 95 | 67.86% | 0 | 0.00% | 0 | 0.00% |
Norway | 1,988 | 30.64% | 963 | 14.84% | 1,581 | 24.36% | 0 | 0.00% | 0 | 0.00% |
Peru | 756 | 30.14% | 125 | 4.98% | 968 | 38.60% | 0 | 0.00% | 0 | 0.00% |
Russia | 9,084 | 24.89% | 5,455 | 14.95% | 10,611 | 29.08% | 1 | 0.00% | 0 | 0.00% |
South Korea | 246 | 4.88% | 366 | 7.26% | 2,497 | 49.52% | 0 | 0.00% | 0 | 0.00% |
Taiwan | 1,081 | 18.64% | 678 | 11.69% | 1,854 | 31.97% | 0 | 0.00% | 0 | 0.00% |
Ukraine | 3,468 | 44.36% | 749 | 9.58% | 2,131 | 27.26% | 0 | 0.00% | 0 | 0.00% |
United States | 41,537 | 40.65% | 7,432 | 7.27% | 26,598 | 26.03% | 4 | 0.00% | 25 | 0.00% |
Regardless of each country's local tagging convention, inexperienced mappers unaware of the convention may occasionally tag level=* based on the one-based system.[1] 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.
Level designations
- Main article: Key:level:ref
- Main article: Key:addr:floor
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.[2]. 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.
There is also an ongoing discussion on usage of fractional values, e.g. level=0.5 or level=1.5 for mezzanine floors and staircases. See the proposals for more examples.
Multiple values
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, (it's a different room on another level but has identical dimensions and position in the building,) draw a separate element for each room or use repeat_on=*.
Similarly a staircase could be tagged with level=-1;0 meaning that it connects those two levels.
Use a minus sign to specify a range of positive numbers with no missing values. e.g. The elevator of a 32 storey highrise with two basement levels: level=-2;-1; 0-31 This shows connectivity to multiple levels for indoor navigation.
Examples
Button label | level=* | level:ref=* |
---|---|---|
14 | 13 | 14 |
If the building skips 13, add non_existent_levels=12 to the building. | ||
12 | 11 | 12 |
… | ||
3 | 2 | 3 |
2 | 1 | 2 |
M | 0.5 | M |
☆1 | 0 | 1 |
B | -1 | B |
B2 | -2 | B2 |
See also
- 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.
References
- ↑ Zwick, Tobias (January 20, 2019). “The actual use of the level tag”. Retrieved March 13, 2022.
- ↑ Directory of Siam Paragon on their website