Uk:Relation:boundary

From OpenStreetMap Wiki
Jump to: navigation, search
Доступні мови — Relation:boundary
Afrikaans Alemannisch aragonés asturianu azərbaycanca Bahasa Indonesia Bahasa Melayu Bân-lâm-gú Basa Jawa Baso Minangkabau bosanski brezhoneg català čeština dansk Deutsch eesti English español Esperanto estremeñu euskara français Frysk Gaeilge Gàidhlig galego Hausa hrvatski Igbo interlingua Interlingue isiXhosa isiZulu íslenska italiano Kiswahili Kreyòl ayisyen kréyòl gwadloupéyen kurdî latviešu Lëtzebuergesch lietuvių magyar Malagasy Malti Nederlands Nedersaksies norsk norsk nynorsk occitan Oromoo oʻzbekcha/ўзбекча Plattdüütsch polski português română shqip slovenčina slovenščina Soomaaliga suomi svenska Tiếng Việt Türkçe Vahcuengh vèneto Wolof Yorùbá Zazaki српски / srpski беларуская български қазақша македонски монгол русский тоҷикӣ українська Ελληνικά Հայերեն ქართული नेपाली मराठी हिन्दी অসমীয়া বাংলা ਪੰਜਾਬੀ ગુજરાતી ଓଡ଼ିଆ தமிழ் తెలుగు ಕನ್ನಡ മലയാളം සිංහල ไทย မြန်မာဘာသာ ລາວ ភាសាខ្មែរ ⵜⴰⵎⴰⵣⵉⵖⵜ አማርኛ 한국어 日本語 中文(简体)‎ 吴语 粵語 中文(繁體)‎ ייִדיש עברית اردو العربية پښتو سنڌي فارسی ދިވެހިބަސް
Public-images-osm logo.svg boundary
Boundary.png
Опис
Поєднує лінії, що утворюють кордони, разом з анклавами/ексклавами.
Група: Properties
Учасники

  • линия - inner
  • линия - outer
  • точка - admin_centre
  • отношение - subarea
Вікідані
Статус: не визначено

Зв’язки boundary=* використовуються для поєднання ліній, що утворюють кордони разом з анклавами/ексклавами.

Зв’язки використовуються для того щоб:

  • Уникати використання name:left=*, name:right=*, nation:right=* та region:right=*. Їх можна замінити створивши один зв’язок для кожної країни, провінції, міста й т.д.
  • Простіше з’єднати частини кордону друг з другом.
  • Уникати використання кількох ліній, що дублюють друг друга.

Теґи ліній

Кордони повинні мати boundary=administrative та admin_level=* для найвищого рівня кордону (у разі спільного кордону країни та області, admin_level=2). Рекомендується додавати джерело походження інформації в source=*.

Так як візуалізація кордонів може відбуватись як на основі даних зв’язків, так і з окремих ліній — теґування ліній необов’язкове. Однак це може викликати помилки візуалізації (див це обговорення на Github: в основному перекриття зв’язків призводить до появи ліній, що показуються по різному, без поважних причин, так як різні пунктирні лінії можуть перекриватись по різному) і тому наявність лінії в базі даних, що не мають власних теґів, є небажаною.

Зв’язки кордонів корисні для різноманітних інструментів, але для візуалізації вони не обов’язково використовуються, ось чому лінії треба теґувати, щоб дозволити рендерам їх коректно візуалізувати.

Застарілі теґи, подібні до name:left=*/name:right=*, можна вилучити.

Теґи зв’язків

Ключ Значення Опис
type boundary також може використовуватись застарілий тип multipolygon (див #Реалізація в програмному забезпеченні)
boundary administrative для справжніх кордонів (іноді посеред ріки, чи 12 мильна зона від морського узбережжя)
land_area administrative для ліній узбережжя та справжніх кордонів на суші
name назва
admin_level admin level значення теґу admin level

Якщо ви маєте територію, адміністративні кордони якої проходять по суші, вам потрібно встановити пару теґів: boundary=administrative та land_area=administrative. Якщо land_area не співпадає з кордоном, створіть два зв’язки, один з land_area=administrative, інший з boundary=administrative.

Члени зв’язків

Елемент Роль Повторюваність? Опис
линия outer один чи більше Кілька ліній, що утворюють замкнений кордон
линия inner жодного чи більше Анклави цього кордону — численні лінії, що утворюють замкненні внутрішні кордони
отношение subarea жодного чи більше Посилання на зв’язки кордонів нижчого рівня всередині цього адміністративного рівня.
Примітка: є необов’язковими, суперечливими та надлишковими (посилання на вкладені рівні можуть також знаходитись за геометричними запитами на вкладення). Також посилання на інші зв’язки робить редагування складнішим у деяких випадках.
точка admin_centre жодного або один Точка, що представляє адміністративний центр (столиця, обласний чи районний центри й т.д.), uзазвичай місто чи селище (в залежності від адміністративного рівня, див place=*).
точка label жодного або один Точка, що показує місце, де потрібно виводити назву. (На поточний момент не підтримується в Mapnik)
линия (blank) - Застаріле, використовуйте outer
линия enclave - Застаріле, використовуйте inner
линия exclave - Застаріле, використовуйте outer

Примітка: Лінії не обов’язково повинні бути замкненими, але всі ліні разом повинні утворювати замкнений кордон. Для незамкнених лінійних кордонів дивіться Proposal:Relation boundary segment.

Приклади

Baarle Nassau гарний приклад застосування зв’язків цього типу. Він має ексклави в анклавах. Ексклави в анклавах в Бельгії потрібно додавати до зв’язку Нідерландів, голландської провінції Noord-Brabant та кордону села.

Приклади теґування
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.

Більше прикладів!

Реалізація в програмному забезпеченні

Програмне забезпечення повинне підтримувати всі застаріли теґи, доки вони не зникнуть з бази даних:

  • type=multipolygon разом з type=boundary (адміністративні кордони можуть визначатись через уточнюючий теґ boundary=* )
  • role=(blank) для role=outer (використання елементів без ролі є застарілим також і для мультиполігонів, але типово мається на увазі роль outer)

Інструменти