Zh-hans:Key:level

From OpenStreetMap Wiki
Jump to navigation Jump to search
level
说明
要素的从零开始的楼层编号(0 为地面层,-1 为地下室)。 在wiki页中编辑此说明 在数据项中编辑此说明
组: buildings
用于这些元素
可用于节点可用于路径可用于区域不可用于关系
常用组合
另见
状态:实际使用
本页面由 AI 从英文页面翻译而来,内容需要人工复核。

level=* 键表示要素(如设施或商店)在建筑物中所处的楼层。按惯例,取值 0 表示地面层,负数表示地下楼层。更多信息见简单室内标注。

添加 level:ref=* 来指明多层建筑本身(电梯按钮、楼梯平台、邮箱、建筑内商店和设施的分布图、停车楼楼层)如何标示某楼层,当这与 level 取值不同时。例如:如果第一个地下停车层在电梯中标记为 B1,则使用标签 level=-1 和 level:ref=B1。详见下方章节。

当道路(及其他路径)本质上依附于建筑群的某一楼层(如多层停车楼、火车站或机场)时,也可以用 level=* 标注。

但对于道路、水道或铁路通过桥梁或隧道的典型交叉,应改用 layer=*。

穿过建筑的道路或其他路径应标注 tunnel=building_passage。只有当它们能通往建筑某一特定楼层时,才应标注 level。

取值

level=* 的取值是数值,用于表示楼层的垂直顺序。通常 level=0 为地面层,level=1 为其上一层,地下楼层从 level=-1 开始。

此处 level=0 对应字母 D 所在楼层


如果建筑部分被埋入地下,为与简单 3D 建筑规范的 building:levels=* 键保持一致,level 0 将对应有部分露出地面的最低楼层。

该楼层不一定要有外门,只要该楼层有一部分处于露天,就足以将其视为地面层。

因此,位于 D 层的 shop=* 将标注为 level=0,位于 C 层右侧的 entrance=入口将标注为 level=1,位于完全地下的 E 层的 amenity=设施将标注为 level=-1。

A 层是屋顶中的第一层,但 level=* 标签用于建筑的所有楼层,因此 A 层将标注为 level=3。

建筑可能跳过某些楼层编号,例如一些西方国家(主要是美国)跳过13 楼,或中文国家跳过4 楼和 14 楼。在这种情况下,请用 non_existent_levels=* 标注该建筑,以防数据消费方在计算被跳过楼层以上各层要素时出错。

地面层编号

此键的从零开始编号方案与许多国家使用的楼层编号体系一致。然而,它与许多其他国家在寻路和地址方面使用的从一开始编号方案不同。也有一些国家两种体系都在日常使用。此外,全世界个别建筑(尤其是购物中心、医院和机场等大型复杂建筑)还使用各自特有的编号体系。

各国楼层编号方案。      "Basement"、"ground floor"、"first floor"      "Basement"、"first floor"、"second floor"      随语言或地区而异

一般来说,level=* 键忽略这些差异,采用从零开始的编号方案,因为 level=* 键最初被设想为用于 3D 建筑渲染的机器可读键。支持简单室内标注的数据消费方要求取值为数值且连续,即使是现实中以 "B"、"B1"、"G"、"M" 和 "2M" 等助记符为人所知的地下室和夹层。

level=* 的取值在很大程度上是从零开始的,即使在许多日常生活中普遍使用从一开始编号体系的地区也是如此。然而,在哈萨克斯坦、韩国和蒙古,制图者一边倒地跳过 0,其比例超出制图者将 0 视为隐含默认值所能解释的程度:

截至 2022 年 3 月,level=* 在一进制国家中的使用情况
国家 0 的高占比表明使用从零开始编号 0 占比低且 1 占比高表明使用从一开始编号
0 0 (%) -1 -1 (%) 1 1 (%) B B (%) G G (%)
白俄罗斯 1,695 25.48% 1,996 30.01% 1,598 24.02% 0 0.00% 0 0.00%
加拿大 9,801 46.69% 2,024 9.64% 5,827 27.76% 0 0.00% 0 0.00%
智利 152 18.29% 46 5.54% 310 37.30% 0 0.00% 0 0.00%
中国 3,618 25.06% 1,680 11.64% 3,880 26.87% 0 0.00% 3 0.00%
哥伦比亚 263 10.70% 1,568 63.79% 301 12.25% 0 0.00% 0 0.00%
厄瓜多尔 186 28.88% 45 6.99% 226 35.09% 0 0.00% 0 0.00%
芬兰 3,232 34.10% 742 7.83% 3,149 33.23% 0 0.00% 0 0.00%
日本 21,437 41.76% 3,896 7.59% 11,430 22.27% 0 0.00% 0 0.00%
哈萨克斯坦 44 8.71% 31 6.14% 337 66.73% 0 0.00% 0 0.00%
摩尔多瓦 131 44.71% 7 2.39% 51 17.41% 0 0.00% 0 0.00%
蒙古 12 6.59% 2 1.10% 71 39.01% 0 0.00% 0 0.00%
朝鲜 2 1.43% 22 15.71% 95 67.86% 0 0.00% 0 0.00%
挪威 1,988 30.64% 963 14.84% 1,581 24.36% 0 0.00% 0 0.00%
秘鲁 756 30.14% 125 4.98% 968 38.60% 0 0.00% 0 0.00%
俄罗斯 9,084 24.89% 5,455 14.95% 10,611 29.08% 1 0.00% 0 0.00%
韩国 246 4.88% 366 7.26% 2,497 49.52% 0 0.00% 0 0.00%
台湾 1,081 18.64% 678 11.69% 1,854 31.97% 0 0.00% 0 0.00%
乌克兰 3,468 44.36% 749 9.58% 2,131 27.26% 0 0.00% 0 0.00%
美国 41,537 40.65% 7,432 7.27% 26,598 26.03% 4 0.00% 25 0.00%

无论各国的本地标注惯例如何,不了解该惯例的缺乏经验制图者偶尔会按从一开始的体系标注 level=*。[1] 一些从一开始的标注也可能是由本文的一个早期版本引入的。数据消费方或许能处理楼层编号的一些差异。例如,如果建筑内某些要素的 level=* 取值大于该建筑的 building:levels=* 取值,且该建筑内没有任何要素标注 level=0,那么数据消费方可以将所有 level=* 取值减一。

楼层标示

主条目:Key:level:ref
主条目:Key:addr:floor

当建筑使用非数值或其他非标准的楼层标示时,请用 level:ref=* 标注该楼层的各个要素,最好与 level=* 一起标注,以防数据消费方处理不当。例如,曼谷的暹罗百丽宫商场由以下楼层组成:B、G、M、1、2、3、4、4A 和 5。[2]。位于 4A 层的商店可以标注为 level:ref=4A。

仅用 level:ref=* 标注商店可能会有问题,因为数据消费方无法可靠地确定建筑内各楼层的相对垂直顺序。为整合这一信息,简单室内标注方案建议为每一层创建一个轮廓,标注 indoor=level,并为其添加 level=* 和 level:ref=*。反过来也适用——如果只在各个商店上定义了 level=*。

关于分数取值(例如夹层樓和楼梯用 level=0.5 或 level=1.5)目前也仍有讨论。更多示例见相关提案。该提案在哪里?请添加链接

多个取值

位于建筑两层的商店例如会有如下属性:shop=* 和 level=0;1。该店不一定能从两层都进入,如果入口仅来自地面层,你或许可以添加一个 entrance=* 和/或 door=*,并加属性 level=0。

如果某个房间在多个楼层重复出现(它在另一层是不同房间,但在建筑中尺寸和位置相同),则为每个房间绘制单独的元素,或使用 repeat_on=*。

类似地,楼梯可以标注为 level=-1;0,表示它存在于(但不一定能从)这两层进入。

使用连字符(-)来指定一段没有缺失值的数字范围。例如,一栋有 32 层和两个地下层的电梯将标注为 level=-2-32。

示例

a question mark

This article or section contains questionable, contentious or controversial information. See the talk page for more information.
non_existent_levels=* 与 level=*、level:ref=* 和 building:levels=* 的格式与定义之间的用法尚不明确。截至 2025-11,non_existent_levels=0 和 non_existent_levels=13 有少量使用(少于 100)。Talk:Key:non existent levels#non_existent_levels_in_the_US
美国一部典型电梯 (level=-2;-1;0;0.5;1-11;13), (level:ref=B2;B;1;M;2-12;14)
按钮标签 level=* level:ref=*
14 13 14
该建筑跳过 13,
请为该建筑添加 non_existent_levels=12。
12 11 12
…
3 2 3
2 1 2
M 0.5 M
☆1 0 1
B -1 B
B2 -2 B2

参见

参考资料