Zh-hans:Relation:boundary

From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg boundary
Historic marker, Blue Water Bridge.jpg
说明
用于分组边界和标记飞地/飞地。 编辑此说明
OSM Carto中渲染
28
组: boundaries
成员
  • way - outer
  • way - inner
  • node - admin_centre
  • node - label
  • relation - subarea
另见
状态:实际使用

boundary=* 关系用于定义政治、行政、自然保护和类似的边界。它们的定义方式与复合多边形类似:它们必须至少包含一条外侧路,其他的路可以用来定义enclavesexclaves

关系所代表的边界可以在拓扑和逻辑上相互嵌套。例如,一个国家的省份与该国共享一些边界,与其他省份相互共享一些边界。因此,一种边界方式可以同时参与多种边界关系(如国家、省、区和市的边界关系)。这种方法可以更容易地拼接边界的所有部分,避免多条重复的边界线相互重叠。

虽然有些边界是实际可见的,有清晰的标记或置于河流等自然特征之上,但也有许多边界在实地不可验证,有时必须从外部来源导入。但是,要避免将边界与树林或河流等自然地物相连,或重复使用它们的方式作为边界(一个地物,一个 OSM 元素)。这些地物迟早会在现实中发生变化并在 OSM 中更新,但边界的形状通常会保持不变。如果边界在法律上被定义为自然地物,则属于例外情况。

路径标签

边界区域可以通过关系和单独的封闭方式呈现。在任何情况下,都可以通过关系将其视为整个对象,从而更好地进行标注。

边界方式可以有boundary=administrative 和最高边界的 admin_level=* (当国家、州、县位于同一边界方式上时,admin_level 应为 2)。不过,这种标记是可选的,因为数据消费者可以从该方式参与的关系中推断出这种信息;因此,边界方式可以完全不加标记,就像复合多边形一样。

不过,这种标记是可选的,因为数据消费者可以从该方式所参与的关系中推断出这一信息;因此,边界方式可以完全不加标记,就像多多边形一样。

关系标签

标签 备注
type boundary type=multipolygon 也被使用,但已不再用于边界关系 (可参见 software support).
boundary administrative For a real boundary (sometimes in the middle of a river or 12 miles away from coastline).
name
admin_level 行政级别:数值介于 2 和 10 之间的整数,具有国别含义。

关系成员

元素 角色 存配数量 备注
way Role outer ! 1+ 既会是单一封闭的路径,也会是多线段共同形成线性封闭边界。
关于非封闭线性边界,请参见 Relations/Proposed/boundary segment.
way Role inner ? 0+ 与外围完全一样,在外围内部形成被排除的边界,即飞地。
way <empty>  0 已过时,请勿使用。请使用Role outerRole inner代替。有些工具可能只将其视为Role outer,有些则会尝试使用复杂的几何推理来猜测。
node Role admin_centre ? 0–1 代表行政中心(首府、县城等)的节点,通常是镇、市或村(取决于边界级别,参见place=*)。这一作用是针对首都(如首都城市),而不是国会大厦(如立法大楼)。
node Role label ? 0–1 代表地点的节点,位于该地点通常被贴上标签的坐标处。尽管这个角色的名称如此,但它并不是标签放置提示的一般机制;我们可以将其视为边界的 “文化中心 ”或 “逻辑中心”。在放置节点时,如果边界不明或定义不清,请考虑将该地点映射为点特征的位置。一个城市公认的 “中心 ”可能是市政厅、公共广场或城市街道网格的起点,而不是边界的地理中心点。例如,芝加哥的节点仍然位于湖岸附近的中央商务区,尽管城市已经从湖岸扩展开来。

当出现飞地或边界有较大凹陷时,如果将标签默认放置在边界框的中心,标签就会完全落在边界区域之外,这时这种作用也会很有用。请注意,不同的地图样式需要不同的标签位置(因为不同的地图样式显示不同的对象,可能使用不同语言的标签,标签可能使用不同的样式,可能希望避免用标签遮挡某些对象--例如,标准地图可能希望将沿海城镇的标签放在海边,而显示海上航线的地图则希望将城镇标签放在内陆)。因此,这些节点的位置会根据特定的地图风格进行优化,使其成为渲染器的一种标签形式

标签节点可以包含place=*标记,并使用行政声明地点表Role label的(如 place=country; place=state; place=county; 等)(如适用)。例如,参见法国

relation Role subarea ? 0+ 指该行政级别内部子级边界的关系。

可选、有争议、多余(对次级别的引用也可通过空间查询找到,前提是类似的分区之间没有重叠)。在某些情况下,引用其他关系也会使编辑工作变得更加复杂。

标签示例

Enclave.png
<relation id="1">
  <tag k="type" v="boundary" />
  <tag k="boundary" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="light green country A excluding C" />
  <member type="way" id="AB" role="outer" />
  <member type="way" id="AC" role="inner" />
</relation>
<relation id="2">
  <tag k="type" v="boundary" />
  <tag k="boundary" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="dark green country B also including C" />
  <member type="way" id="AB" role="outer" />
  <member type="way" id="AC" role="outer" />
</relation>
C 既是 A 的内飞地, 也是 B 的外飞地。
Exclave.png
<relation id="1">
  <tag k="type" v="boundary" />
  <tag k="boundary" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="light green country A" />
  <member type="way" id="AB" role="outer" />
  <member type="way" id="AC1" role="outer" />
  <member type="way" id="AD" role="outer" />
  <member type="way" id="AC2" role="outer" />
</relation>
<relation id="2">
  <tag k="type" v="boundary" />
  <tag k="boundary" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="dark green country B also including D" />
  <member type="way" id="AB" role="outer" />
  <member type="way" id="BC" role="outer" />
  <member type="way" id="AD" role="outer" />
  <member type="way" id="CD" role="outer" />
</relation>
<relation id="3">
  <tag k="type" v="boundary" />
  <tag k="boundary" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="purple country C" />
  <member type="way" id="AC1" role="outer" />
  <member type="way" id="CD" role="outer" />
  <member type="way" id="AC2" role="outer" />
  <member type="way" id="BC" role="outer" />
</relation>
D 是 B 的外飞地,但不是 A 的内飞地,因为它也与 C 接壤。