Uk:Полігон
Полігон (або заповнений полігон) може бути визначений як місцевість оточена замкненою лінією з відповідними теґами або з використанням мультиполігону, що утворює полігон з однієї чи більше ліній.
Зауважте, що полігони не є окремим примітивом даних і деякі замкнені лінії (наприклад landuse=*) можуть бути полігонами, а інші, такі як highway=footway — ні, і оброблятись як лінійні об’єкти, тільки якщо до них не застосовано теґ area=yes.
Як позначати на мапі
Існує два способи створити полігон:
- Для невеликих ділянок найчастіше достатньо накреслити замкнену лінію з відповідними теґами і в дуже рідкісних випадках потрібно додати area=yes. Дивіться area=* для подальших інструкцій.
- Для великих територій і для тих ділянок, що входять до складу інших полігонів або ліній, найбільш відповідним є застосування мультиполігонів, так само із застосування потрібних теґів. Дивіться relation:multipolygon для додаткової інформації.
Замкнені лінії із деякими комбінаціями теґів можуть утворювати як 'замкнені лінії', так і 'полігони'. Наприклад шлях з круговим рухом із газоном в середині може бути визначений як замкнена лінія з теґом highway=primary і полігон з теґом landuse=grass. Такий елемент може бути визначений як дорога кільцевим рухом з газоном в середині.
Під час рендерингу на мапі незамкнених лінії з теґами об’єктів, що мають бути полігонами, матимуть заливку з кордоном по самій лінії і уявному відрізку між крайніми точками.
У минулому було необхідно дотримуватися напрямку руху лінії (за годинниковою стрілкою або проти) для коректного показу на мапі. Тепер це не необов’язково.
Показ
Під час креслення мапи, менші полігони накладаються зверху на великі. Таким чином скупчення дерев на території парку буде показане поверх полігону самого парку. Для полігонів, створених з використанням мультиполігонів, можливо точно показати дерева окремо від трави.
Приклади
Простий полігон
Нижче наведено приклад озера, накресленого замкненою лінією, остання точка якої збігається з першою. Використовується теґ natural=*, що вже обумовлює наявність area=yes. Зауважте, що неможливо таким способом показати острівці на озері. За визначенням замкнені лінії не мають можливості показувати отвори в полігонах.
<way id="4876027" timestamp="2008-03-12T07:59:11Z" user="MichaelCollinson">
<nd ref="31492372"/>
<nd ref="31492338"/>
<nd ref="31492370"/>
<nd ref="31492371"/>
<nd ref="31492372"/>
<tag k="natural" v="water"/>
<tag k="name" v="Spegeldammen"/>
</way>
Мультиполігон
Полігон може бути визначений за допомогою relation:multipolygon, набору ліній, які визначають зовнішню межу, а також, необов’язково, внутрішні межі (або 'отвори'). Нижченаведений приклад має зовнішню межу, задану однією лінією, і дві внутрішні лінії, які можуть або разом задавати один отвір, або задавати два окремих отвори.
<relation id="12" timestamp="2008-12-21T19:31:43Z" user="kevjs1982" uid="84075">
<member type="way" ref="2878061" role="outer"/> <!-- малюнок ref="1" -->
<member type="way" ref="8125153" role="inner"/> <!-- малюнок ref="2" -->
<member type="way" ref="8125154" role="inner"/> <!-- малюнок ref="3" -->
<member type="way" ref="3811966" role=""/> <!-- порожня роль спричиняє
появу попередження; уникайте цього; більшість програм редакторів може визначати ролі
самостійно, але це досить витратно ніж зазначити їх правильно з самого початку;
не показується на малюнку праворуч -->
<tag k="type" v="multipolygon"/>
</relation>
Див. також
- The Future of Areas
- Overpass turbo/Polygon Features — опис що Overpass turbo вважає полігонами, може стати в пригоді, як початкова точка для розробників
|