OpenStreetMap (OSM) є на сьогодні одною з найперспективніших веб-платформ для створення мапи світу “спільними силами”. Повна відкритість усіх елементів, простота редагування, розвинена документація та активна спільнота користувачів — вагомі переваги OSM перед іншими веб-рішеннями, що претендують на глобальність.
Система теґів в OSM
Основною ж конкурентною перевагою OSM є, на мою думку, розширюваність: ви запросто можете почати мапити те, до чого інші ще не додумалися. А реалізується ця корисна властивість за допомогою теґів.
Кожен об’єкт в OSM, незалежно від того, позначається він точкою (окреме дерево, пам’ятник абощо), лінією (шляхи, річки, трубопроводи, …) чи має замкнений контур (населені пункти, будівлі, лісові масиви, тощо), супроводжується теґами – позначками, що надають безликій геометричній фігурі певних характеристик.
Саме спираючись на теґи, сервер OSM надає ту картинку, яку ми бачимо на вкладці браузера.
Грубо кажучи, ліси в OSM зелені саме тому, що так вирішено зафарбовувати всі полігональні об’єкти з теґами ‘landuse=forest’ або ‘natural=wood’. На один об’єкт ми можемо “навісити” цілу купу теґів, головне – щоб вони не суперечили одне одному (Рис. 1).
Рисунок 1. Діалог для надання теґу у просунутому OSM-редакторі JOSM
Кожен теґ складається з двох частин: ключа й значення. Наприклад, усі шляхи, від автобану до лісової стежки, в OSM мають ключ “highway”, а от щоб пояснити OSM, що ця лінія на мапі є маленькою стежкою, до ключа “highway” треба додати значення “path”. Якщо ж значенням буде, наприклад, “service”, то наша стежка перетвориться на під’їзну дорогу. Якось так.
Важливо пам’ятати, що в OSM присутня певна ієрархія теґів. Первинні теґи описують базові характеристики об’єкта, вторинні – конкретизують певні особливості. Наприклад, маємо відмалювати проїжджу ґрунтову дорогу. Первинним, обов’язковим теґом буде “highway=track”, а тип покриття цього шляху можна опційно уточнити за допомогою вторинного теґу “surface=ground”.
Природа – сирота OSM
OpenStreetMap, як можна здогадатися з назви, виник як мапа вулиць та шляхів. Тож не дивно, що й зараз OSM-мапери приділяють урбанізованим територіям більше уваги, ніж природним об’єктам. До того ж, глобалізація спричинила досить сильну уніфікацію штучних об’єктів. Автозаправка – вона що у США, що в Кенії автозаправка. Чого не скажеш, наприклад, про ліс чи луг. Кожен, хто має бодай елементарні уявлення з біогеографії, чудово знає, що природні угруповання в різних частинах світу сильно різняться. Більше того, вони різняться також залежно від традицій господарювання, але про це згодом. Відтак мапення живого світу в OSM лишається не надто інтуїтивним та регламентованим заняттям.
Цей допис – для новачків у OSM, яким цікаво наносити на мапу ліси, степи, болота й річки. Звісно, на всі питання можна знайти відповідь (якщо не полінуватися) в офіційній Вікі (куди я дуже раджу зазирнути, хоча б у розділ “Об’єкти мапи”!) та на форумах OSM. Ми розглянемо основні підходи до мапення природних об’єктів та проблеми, які виникають із цим. На завершення, вашій увазі буде запропоновано мій власний ключ для визначення теґів найпоширеніших природних об’єктів, які можуть трапитися в Україні.
Суперечності й плутанина у теґуванні
Переважна більшість природних та близьких до природних об’єктів розподілені між двома групами первинних теґів: “природа” (natural) та “землекористування” (landuse). Перший призначений для природних об’єктів, тоді як другий – для створених людиною.
Логіка зрозуміла: якщо маємо цілинний степ, – пишемо “natural=grassland”, якщо поле пшениці – то “landuse=farmland”.
Але як бути, якщо перед нами – сіножать, пасовисько або переліг, що вже кілька років як заростає? Це природні об’єкти? До певної міри так, адже теперішня рослинність тут сформувалася сама собою. Водночас, очевидно, що на структуру цих екосистем істотно впливає антропогенний фактор.
Ситуацію ускладнює те, що більшість природних об’єктів наносять на мапу, змальовуючи доступні в OSM супутникові знімки, з яких частіше за все неможливо сказати, чи випасають на ось цьому конкретному лузі корів, чи ні. Подібні суперечності в OSM трапляються на кожному кроці. Чи не найвідоміша з подібних дихотомій пов’язана з мапенням лісів. Офіційна вікі каже: якщо ліс природний – використовуємо теґ “natural=wood”, якщо у ньому ведеться лісове господарство – то “landuse=forest”. Цікаво, що теґ “natural=wood” радять використовувати також для позначення маленьких груп дерев, що виросли самі собою, але до гордої назви “ліс” явно не дотягують за розміром. Відтак маємо казус: деревна рослинність із зімкненими кронами має позначатися різними теґами залежно від дуже неочевидних ознак.
Причини цього розмежування легко пояснити, знаючи історію розвитку проекту. OSM зародився і став на ноги у Великій Британії – країні надвисокої освоєності територій, де більшість природних лісів були зведені та згодом насаджені заново. Такі штучні ліси сформовані та підтримуються лісовим господарством. Водночас, невеличкі ділянки природних лісів збереглися, бо були мисливськими угіддями аристократії, де заборонялося рубати дерева. За таких умов розділити “природні” та “штучні” ліси не надто важко.
В Україні, наприклад, усе інакше. Три чверті деревної рослинності України зібрано у великих масивах, де лісове господарство ведеться або велося у вигляді періодичних суцільних чи вибіркових рубок на певних ділянках. У таких лісах ділянки, що зазнали більшого чи меншого антропогенного впливу, густо перемішані між собою. Однозначно відділити “природні” ліси від “штучних” не завжди під силу навіть досвідченому лісникові, не те що любителю мапити за супутниковим знімком.
Теґи “landcover = *”
Одним з можливих розв’язань цієї проблеми є запропонований новий теґ “landcover”. Автори цієї ідеї пропонують відмовитися від розрізнення типів середовища за ознакою “природний-штучний”, натомість запровадити новий теґ, що описував би не спосіб використання землі, а саме те, чим вона вкрита. Наприклад, всі ділянки з деревною рослинністю позначати “landcover=trees”, тоді як порослі травами – “landcover=grass”. Зрештою, ніхто не забороняє конкретизувати опис за допомогою вторинних теґів. Такий підхід обходить неоднозначності щодо історії господарювання та інших факторів, невідомих віддаленому маперові. На жаль, цей прогресивний, на мою думку, підхід поки не став офіційним та використовується рідко.
Вторинні теґи, що передають нюанси
Як ми вже згадували раніше, теґи в OSM поділяються на первинні та вторинні. Для відмальовування мапи серверові OSM достатньо знати первинний теґ. Але реального біологічного сенсу природному об’єктові можна надати саме за допомогою вторинних теґів. Наприклад, ліс (первинний теґ “natural=wood”) ми можемо позначити як листяний (вторинний теґ “leaf_type=broadleaved”), хвойний чи мішаний (“leaf_type=needleleaved” та “leaf_type=mixed” відповідно).
Рисунок 2. Первинний (natural=wetland) та вторинний (wetland=reedbed) теґ, що позначають масив очеретів
За допомогою деяких вторинних теґів ми можемо наблизити нашу мапу до справжнього просторового датасету. Наприклад, за допомогою теґу “taxon=*” можна вказати, з яких видів дерев складається ліс (переважно використовується для монодомінантних угруповань). Якщо ж мапер володіє ґрунтовнішою інформацією, то може вказати й тип рослинного угруповання (“plant_community=*”) або тип оселища (“habitat=*”). Біда тільки в тому, що OSM-спільнота ще не дійшла остаточної згоди щодо того, які саме системи класифікації оселищ чи рослинних угруповань використовувати. Гадаю, у недалекому майбутньому ці питання будуть узгоджені.
Яких теґів для природних об’єктів бракує?
Безумовно, багато природних і напівприродних об’єктів досі не вписуються у теперішню систему теґів. Тут можна згадати перелоги, що заростають, рідколісся, лісо-луки, лісові згарища й вітровали та багато чого ще. І хоча чимало з них можна було б описати за допомогою вторинних теґів “plant_community” або “habitat”, проблема в тому, що для них складно визначити первинний теґ, без якого OSM не прийме наш об’єкт!
Ключ теґів
Я польовий біолог і мені часто доводиться визначати, до якого виду чи навіть роду належить той чи інший незнайомий мені організм. В біології для цього традиційно використовують ідентифікаційні ключі. Мені здається, що OSM-новачки так само часто стикаються з проблемою, як визначити теґи для того чи іншого природного об’єкту. Тому зараз я спробую підсумувати свої уявлення про теґування за допомогою ключа.
Ключ – результат поєднання даних з OSM Вікі та моїх особистих уявлень про прекрасне. Я свідомо не включив до нього чимало теґів, які вважаються застарілими, або ще не є затвердженими, або видаються мені невдалими.
Цей ключ набув закінченого вигляду завдяки чудовим коментарям та зауваженням Єгора Яцюка, Альони Прилуцької та Антона Біатова, за що їм велике “дякую”!
Як користуватися ключем?
Кожен блок ключа складається з двох або, рідко, більше альтернативних тверджень, та позначений цифрою. Якщо ви погоджуєтеся з першим твердженням (наприклад, ваш об’єкт відповідає характеристиці “мокре місце”), – переходьте до блоку, номер якого вказано навпроти твердження. Якщо не погоджуєтеся – переходьте до наступного твердження. Поступово опис об’єкту конкретизуватиметься. Наприкінці, якщо все пройде вдало, ключ виведе вас до вірного теґу, записаного у стандартній для OSM формі “ключ”=“значення”.
Пункт | Опис | Ключ |
1. | Мокре місце | 2 (див. також 20) |
Сухе місце | 12 | |
2. | Відкрита вода | 3 |
Відкрита вода відсутня, фрагментована й невеликої площі | 9 (natural=wetland) | |
3. | Водойма безсумнівно проточна | 4 |
Водойма непротічна або проточність не очевидна | 8 (natural=water) | |
4. | Водойма природного походження | 5 |
Водойма штучна | 7 | |
5. | Ширина водотоку більша 12 метрів (середні та великі річки) | waterway=riverbank (див. примітку!) |
Ширина водотоку менше за 12 м (малі річки) | 6 | |
6. | Річка | waterway=river |
Потічок | waterway=stream | |
7. | Канал | waterway=canal |
Канава | waterway=ditch (інколи вживають waterway=drain, якщо канава – дренажна) | |
8. | Озеро | natural=water+water=lake |
Став | natural=water+water=pond | |
Водосховище | landuse=reservoir | |
9. | Прісноводні оселища | 10 |
Солоні, приморські оселища | 11 | |
10. | Мокрі, затоплювані луки | natural=wetland+wetland=wet_meadow |
Мохові болота, торф’яники | natural=wetland+wetland=bog | |
Трав’яні болота | natural=wetland+wetland=marsh | |
Зарості очеретів, плавні | natural=wetland+wetland=reedbed | |
Затоплювані ліси | natural=wetland+wetland=swamp | |
11. | Солоні приморські трав’яні болота | natural=wetland+wetland=saltmarsh |
Солончакові намули, багно, піски, сформовані дією припливів | natural=wetland+wetland=tidalflat | |
12. | Землі, переважно вкриті рослинністю | 13 |
Землі без або з мінімальною рослинністю | 20 | |
13. | Деревостани | 14 |
Чагарники або природна густа деревна парость | 18 | |
Трав’янисті угруповання | 19 | |
14. | Одиничне дерево | natural=tree |
Однорядна лісосмуга | natural=tree_line | |
Інші деревостани | 15 | |
15. | Природні та такі, що розвиваються самостійно, ліси | 16 |
Штучно створені та підтримувані деревостани | 17 | |
16. | Листяний ліс | natural=wood+leaf_type=broadleaved |
Шпилькові (хвойні) ліси | natural=wood+leaf_type=needleleaved | |
Мішані ліси | natural=wood+leaf_type=mixed | |
17. | Лісові культури, що зберігають ознаки догляду за минулі 30 років | landuse=forest |
Багаторядні полезахисні лісосмуги | landuse=forest | |
Фруктові сади | landuse=orchard | |
Парки та сквери | landuse=park | |
18. | Зарості природних чагарників | natural=scrub |
Штучні живоплоти | barrier=hedge | |
Місця суцільних вирубок лісу, що заростають | natural=scrub+man_made=clearcut | |
19. | Сухі трав’янисті угруповання з переважанням злаків | natural=grassland+grassland=steppe |
Свіжі заплавні луки, часто використовуються як сіножаті | landuse=meadow | |
Полонини на вершинах гір | natural=fell | |
Пустища, порослі рудеральною рослинністю або вересом | natural=heath | |
20. | Піски | natural=sand |
Пляж, річковий намив | natural=beach | |
Розсип гальки на березі моря або річки | natural=shingle | |
Кам’янистий осип, ґреґот | natural=scree | |
Виходи порід, голі скелі | natural=bare_rock (рідковживане geological=outcrop) | |
Стрімчак, обрив | natural=cliff |
Примітка: Річки, ширші за 12 м, як правило наносять на мапу одночасно як полігон (мультиполігон) з теґом waterway=riverbank та як лінію з теґом waterway=river. Це необхідно для коректного рендерингу на різних наближеннях та для прокладання маршрутів.
Рисунок 3. Подвійне маркування для річки, ширшої за 12 м
Quite interesting, thank you. as a minor update, you might want to check: seems that waterway=riverbank is sort of deprecated, and natural=water; water=river should be preferred. I like the idea of the key. not generic enough (we have mangroves in the place I map), but a very nice idea.