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 bokmål · norsk nynorsk · occitan · Oromoo · oʻzbekcha/ўзбекча · Plattdüütsch · polski · português · português do Brasil · 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
Учасники

  • Way - inner
  • Way - outer
  • Node - admin_centre
  • Relation - 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.

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

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

Інструменти