Zh-hans:One feature, one OSM element
Jump to navigation
Jump to search
一物一素(One feature, one OSM element)是绘制 OSM 中的地图对象时应当遵循的通用规则,其含义是一个地物应且仅应使用唯一的 OSM 元素 来表示。
对地物的应用规则
通用规则
- 对于由场地及其场地上的建筑构成的地物(如学校等),应将其绘制为一个表示整体土地利用范围的面要素,和一或数个表示建筑物范围的面要素。表示该对象的标签应当用于表示整个土地利用范围的面要素上,而非各个建筑物,除非该建筑物本身具有不同用途。场地内的建筑可被用户默认为是该场地的一部分。
- 对于位置、形状均可确定的地物(如建筑等),应将其绘制为一个面要素
- 对于位置确定、形状未知或不明确的地物,应将其位置为一个点要素
- 对于由多个相对较小的地物构成的实体,通常使用关系来描述
错误示例
- 将同一个实体同时标为面要素和点要素,且为两者带上相同的标签(如学校、医院等)
- 为一个实体的场地范围以及场地中唯一的建筑物带上相同的标签(如博物馆等)
- 为一个闭合的线要素
带上类型不兼容的标签,如表示线要素的标签(如 barrier=hedge)和表示面要素的标签(如amenity=school)。此时,`barrier=hedge` 究竟是表示线要素还是面要素就产生了歧义,标签上的各个属性也无法被对应到各个实体上。更合适的做法是为amenity=school单独创建一个关系
,将该闭合的线要素
设为关系的外部成员 ,并将有关教育机构标签转移到关系
outer
上
- 为一个实体及其内部具有不同属性的实体带上相同的标签,如在一个点要素或面要素上同时使用
tourism=hotel和amenity=restaurant标签,这会在添加像opening_hours=*这样等的标签时引发适用性问题
- 将两个具有不同属性的实体的标签合并到一个标签中,如用同一个点对象表示酒吧和其附近的 ATM,以及同个楼栋中的多个办公室等
- 如果一个建筑物全部被某个商业实体或机构所利用,在不引起歧义的情况下,通常可以接受将
building=*,shop=*,以及表示 POI 的name=*等标签合并到同一要素上;但这种做法是否合适仍有争议[1]
特殊情况
- 多用途商店,其标记方法参见 Key:shop#Multi-purpose shops
- 聚落,如村庄、城镇等,其通常以带有名称
name=*和place=village的标签标记在聚落中心处。聚落中的用地应当被视作不同实体,如landuse=residential等
- 特别长的线状实体,如公路、河流等,通常需要被分割成多个线要素
对标签的应用规则
“一物一素”原则的应用对象是地物,而非标签。某些要素完全可能被标记上多个用于描述同一属性的标签,如 amenity=school + education=school 等。
不过,要注意的是,对某些标签的弃用或替代已取得了社区共识,如在 water=river + waterway=riverbank 的组合中,弃用 waterway=riverbank 是更加合适的做法。