RU:Relation:boundary

From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg boundary
Boundary.png
Описание
Для группировки границ, обозначения анклавов и эксклавов. Edit or translate this description.
Группа: Свойства
Участники

  • линия — inner
  • линия — outer
  • точка — admin_centre
  • отношение — subarea
Викиданные
Статус: де-факто

Отношение boundary=* может использоваться для группировки границ, обозначения анклавов и эксклавов.

  • В настоящее время в базе данных есть границы, обозначенные несколько разными способами:
  • В Германии, Эквадоре и Нидерландах для обозначения границ были введены мультиполигоны.
  • Во Франции используется type=boundary с ролями exclave/enclave/(none) и без subarea.
  • В настоящее время наиболее распространённым способом является обозначение в соответствии с правилами мультиполигонов, но с использованием type=boundary.
  • Программное обеспечение должно поддерживать все существующие варианты обозначения:
  • type=multipolygon, так же как type=boundary
  • role=(пусто), эксклавы с role=outer (отметим, что пустая роль для мультиполигонов также устарела, но обычно по умолчанию принимается как outer)
  • role=enclave для role=inner
  • role=admin_center для role=admin_centre
Примечание: Даже если названия разные, смысл одинаковый.

Отношения используются в следующих целях:

  • Избегать теги name:left, name:right, nation:right, region:right. Это было заменено одним отношением на страну/провинцию/город и т.д.
  • Это проще для связи всех частей границы друг с другом.
  • Избегать многократное дублирование линий, проведённых по общим точкам.

Теги линий

Линии границ должны иметь только boundary=administrative и admin_level=* для границы самого высокого уровня (если границы государства, области, района проходят по одной и той же линии, то admin_level должен быть 2). Старые теги, зависящие от направления линии (name:left=*/name:right=*), могут быть удалены.

Теги отношения

Ключ Значение Описание
type boundary В Германии, Эквадоре и Нидерландах используется multipolygon (смотрите страницу обсуждения)
boundary=* administrative для официальной границы (иногда проходит в середине реки или на определённом расстоянии от береговой линии)
land_area administrative для береговой линии и границы на суше
name (название)
admin_level the admin level

Если в вашем регионе есть административные территории, имеющие выход к морю, вы должны указать обе границы: boundary=administrative и land_area=administrative. Если land_area не совпадает с настоящей границей, надо сделать 2 отношения: одно с land_area=administrative, и другое с boundary=administrative.

Участники отношения

Элемент Роль Количество? Описание
линия outer 1 или более Множество линий, формирующих замкнутую границу
линия inner 0 или более Анклавы этой границы — множество линий, формирующих замкнутые внутренние границы
отношение subarea 0 или более Ссылки на отношения границ более низкого уровня, находящихся внутри данной границы.
Обратите внимание, что эта роль не является обязательной и ее использование в ряде случаев может усложнить редактирование карты.
точка admin_centre 0 или 1 Точка населённого пункта, являющегося административным центром данной территории
точка label 0 или 1 Точка, указывающая, где разместить надпись на карте
линия (пусто) 1 или более Устарело, используйте outer
линия enclave 0 или более Устарело, используйте inner
линия exclave 0 или более Устарело, используйте outer

Примечание: Все линии должны формировать замкнутый круг, образующий границу. Для незамкнутых линейных границ, смотрите Proposal:Relation boundary segment.

Примеры

Baarle Nassau является хорошим примером использования данного отношения. Он содержит эксклавы в анклавах.

Примеры обозначения
C является анклавом A и эксклавом B:
<relation id="1">
  <tag k="type" v="boundary" />
  <tag k="boundary" v="administrative" />
  <tag k="land_area" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="light green country" />
  <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="land_area" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="dark green country" />
  <member type="way" id="AB" role="outer" />
  <member type="way" id="AC" role="outer" />
</relation>
C является анклавом A и эксклавом B.
D является эксклавом B, но не являестя анклавом A, поскольку он также имеет общую границу с C:
<relation id="1">
  <tag k="type" v="boundary" />
  <tag k="boundary" v="administrative" />
  <tag k="land_area" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="light green country" />
  <member type="way" id="AB" role="outer" />
  <member type="way" id="AC1" role="outer" />
  <member type="way" id="AC2" role="outer" />
  <member type="way" id="AD" role="outer" />
</relation>
<relation id="2">
  <tag k="type" v="boundary" />
  <tag k="boundary" v="administrative" />
  <tag k="land_area" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="dark green country" />
  <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="land_area" v="administrative" />
  <tag k="admin_level" v="2" />
  <tag k="name" v="purple country" />
  <member type="way" id="AC1" role="outer" />
  <member type="way" id="AC2" role="outer" />
  <member type="way" id="CD" role="outer" />
  <member type="way" id="BC" role="outer" />
</relation>
D является эксклавом B, но не являестя анклавом A, поскольку он также имеет общую границу с C.

Смотрите также Relation:multipolygon#Advanced_multipolygons!

Полезные инструменты