Uk:Зв’язки

From OpenStreetMap Wiki
(Redirected from Uk:Relations)
Jump to navigation Jump to search
Mf Relation.svg

Зв’язок — є одним із базових елементів даних, який містить як мінімум один теґ type=*, а також впорядкований перелік, який складається з однієї чи більше точок, ліній та/або звязків, які є членами зв’язка, які використовуються для позначення логічних чи географічних взаємостосунків між різними елементами. Член зв’язку може, необов’язково, мати роль, що визначає місце яке він відіграє у зв’язку.

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

Наприклад, якщо ви використовуєте iD і у вас є зв’язок A з одним членом = зв’язок B, з одним членом = точка, якщо ви видалите точку, у цих об’єктах більше не буде елемента геометрії, і, щоб запобігти внесенню неправильних даних в OSM, iD автоматично вилучить зв’язки A і B.

Використання

Зв’язки використовуються для моделювання логічних (і, як правило, локальних) або географічних стосунків між об’єктами.

Вони не призначені для зберігання вільно пов’язаних, але розташованих на значній території елементів. Було б неправильним, наприклад, використовувати зв’язки для гуртування 'всіх пішохідних маршрутів в Східній Англії'

Розмір

Рекомендується включати до одного зв’язку не більше 300 членів. Чим більше членів має один зв’язок, тим важче впоратись з ним, легко зламати, викликати конфлікти, і як показує досвід вони споживають значний обсяг ресурсів сервера та бази даних.

Якщо вам доводиться працювати зі зв’язками з великою кількістю членів, створіть кілька окремих зв’язків та об’єднайте їх у Super-Relation.

Ролі Role

Роль — необов’язкове текстове поле, в якому зазначається функція члена зв’язку.

Наприклад, у мультиполігоні, ролі Role inner та Role outer використовуються, щоб вказати, яка з ліній позначає внутрішні та зовнішні контури мультиполігону.

У зв’язку водних шляхів, що містить лінії річища waterway=river, можливо разом з притоками, для створення річкової системи, роль maine_stream на лінії буде означати основне річище, side_stream – відгалуження.

Типи зв’язків Mf Relation.svg

Мультиполгони

Мультиполігони є одним зі способів мапінгу об’єктів в OpenStreetMap, що займають певну area площу. В той час як більшість таких об’єктів представлено звичайною замкненою лінією closed way, будь-який з них може бути замаплений у вигляді мультиполігону. Без цього не обійтись, коли вам потрібно зробити отвори в полігоні (виключити певну частину з його складу), або якщо в об’єкта є ексклави, які потрібно включити до його складу, а також якщо контур об’єкта складається з більше ніж 2000 точок.

У зв’язку мультиполігона, ролі Role inner та Role outer використовуються для зазначення того, чи є лінія внутрішнім чи зовнішнім контуром території полігону. Наприклад, внутрішня лінія може означати острів на озері.

Наприклад, озеро та острів в ньому може збути замаплено як полігон, що складається з двох ліній (лінії без теґів), зовнішній контур озера буде мати роль "outer", а лінія контуру острова матиме роль "inner" (тому, що вона одночасно є внутрішнім контуром озера). Сам острів можна позначити чимось на кшталт natural=bare_rock – скеля посеред озера.

Автобусний маршрут

Для позначення автобусного маршруту використовується зв’язок типу type=route, з теґами route=bus, ref=* та operator=*, from=*, to=*.

На початку, у зв’язку автобусного маршруту знаходяться точки зупинок, вони впорядковуються за ходом руху автобуса. Потім, зазначаються дороги, по яких проходить автобусний маршрут. У схемі мапінгу маршрутів громадського транспорту PTv2, відрізки доріг впорядковуються у послідовності за якою проходить маршрут,так само як і зупинки. Відрізки доріг не мають ролей. Вони мають утворити ланцюг без розривів від початкової до кінцевої зупинки (в JOSM легко це побачити в редакторі зв’язків).

Інші приклади

  • Relation:boundary – застосовується виключно для опису адміністративних кордонів.
  • Relation:restriction – описують обмеження маневрів, такі як “розворот заборонено”, “рух тільки прямо” й тому подібне
  • Див також Types of relation та Category:Relations

Інструменти

Навігація з використанням зв’язків

OSRM та Valhalla можуть використовувати певні зв’язки маршрутів автомобільних доріг для уточнення навігаційних інструкцій коли маршрут містить обидва напрямки руху (США, Мексика, Південна Африка, Канада, Венесуела).

Наприклад, деякі веломаршрутизатори віддають перевагу маршрутам по дорогах із наявними велосипедними маршрутами (як індикатор зручності використання велосипеда). Також застосунки можуть використовувати маршрути для паломників (pilgrimage=*), або, загалом, намагатися прокласти маршрут уздовж мінімальної кількості пронумерованих маршрутів.

OSM XML

Основна стаття: OSM XML
 <relation id="13092746" visible="true" version="7" changeset="118825758" timestamp="2022-03-23T15:05:48Z" user="" uid="">
  <member type="node" ref="5690770815" role="stop"/>
  <member type="node" ref="5751940550" role="stop"/>
  ...
  <member type="node" ref="1764649495" role="stop"/>
  <member type="way" ref="96562914" role=""/>
  ...
  <member type="way" ref="928474550" role=""/>
  <tag k="from" v="Encre"/>
  <tag k="name" v="9-Montagnes de Guyane"/>
  <tag k="network" v="Agglo'bus"/>
  <tag k="not:network:wikidata" v="Q3537943"/>
  <tag k="operator" v="CACL"/>
  <tag k="ref" v="9"/>
  <tag k="route" v="bus"/>
  <tag k="source" v="https://www.cacl-guyane.fr/wp-content/uploads/2021/01/PLAN-RESEAU-URBAIN-AGGLO-BUS-1.pdf"/>
  <tag k="to" v="Lycée Balata"/>
  <tag k="type" v="route"/>
  <tag k="website" v="https://www.cacl-guyane.fr/lagglo-au-quotidien/se-deplacer/transport-urbain-2/"/>
 </relation>

Див. також