OpenStreetMap logo OpenStreetMap

Diary Entries in Ukrainian

Recent diary entries


Дисклеймер: зміни, які я вносив для того, щоб створити мем, не були завантажені у OSM. Прошу тих, хто вирішить скористатися цим гайдом, також утриматися від завантаження мемів у OSM


У кінці 2018 року гуглокарту (тьфу) заполонили школи, парки, усе назване на честь Рікардо Мілоса. Через деякий час усе виправили, а псувати їхню мапу під меми стало набагато складніше. Із свідчень очевидців (мене тоді ще не було в OSM), нам досталось не так сильно. Але хотілося б похайпувати на мемах, де в куточку гордо написано © OpenStreetMap contributors. Тому я вирішив створити гайд по створенню мемів на основі даних OSM.

Я намагався написати його так, щоб було хоч трохи зрозуміло тим, хто вперше дізнався про OSM, тому для тих, хто мапить і, тим більше, використовує його дані, тут усе й так буде зрозуміло.

Власне для обробки даних OSM я пропоную використовувати QGIS, бо інших ГІС не досліджував.

➕/➖ описаного мною методу:

➕ Використовує дані OSM;

➕ Дозволяє максимально змінювати вигляд мапи

➕ Дозволяє змінювати дуже великі об’єкти, міста, області

➖ QGIS має підвищенний поріг входження

➖ Вимагає багато часу

➖ Потрібен комп’ютер (мабуть)


Скачування географічних даних

OSM містить дані про безліч видів об’єктів. Але якщо нанести на мапу абсолютно все, то вона виглядатиме як чорний прямокутник. Тому ми візьмемо лише найнеобхідніше: будинки (building), використання земельних ділянок (landuse, natural), дороги (highway) та річки, озера (waterway, natural).

Ці дані, звісно, можна експортувати із головного сайту OSM, але дані у такому вигляді буде складно використовувати. Тому я рекомендую скачувати за допомогою overpass turbo. Спочатку, наведіть мапу на потрібне вам місце. Потім натисніть кнопку “Помічник” вгорі сторінки. У поле введіть ключ необхідного виду об’єктів та допишіть =*, наприклад building=* для будинків та натисніть “Скласти і запустити запит”. Через декілька секунд усі будинки на мапі виділяться. Натисніть “Експорт”, “download” as GeoJSON та скачайте файл з будинками.

Повторіть алгоритм для кожного необхідного виду об’єктів.

Додавання даних до QGIS

Рекомендую ознайомитися із першими 4 модулями документації програми, щоб точно знати, що і як робити. А далі ж я коротко опишу процес роботи із програмою.

У QGIS створіть новий проєкт, відкрийте диспетчер джерел даних (Ctrl+L), вкладку Вектор, натисніть навпроти поля “Векторні набори даних”, виберіть один із скачаних файлів та натисніть “Додати”, повторіть із іншими файлами. Якщо вискочить вікно “Вибрати векторні шари для додавання…”, то виберіть необхідний тип геометрії об’єктів.

Оформлення мапи

Не забувайте якомога частіше зберігати проєкт! (бо я не зберігав, поки писав цей гайд, а QGIS образився та вилетів)

Після додавання даних, мапа буде виглядати скривленою. Щоб надати об’єктам правильної форми, треба змінити проекцію. Для цього натисніть “Проект/Властивості…” (Ctrl+Shift+P), вкладка Система координат. У фільтр впишіть Ukraine та виберіть таку проекцію, яка буде покривати фіолетовий плюсик на перегляді. До речі, у вкладці Загальне можна вибрати колір тла мапи. Натиснувши “ОК”, об’єкти на мапі набудуть правильної форми.

Для зміни вигляду видів об’єктів мапи, двічі натисніть на необхідний шар. У вкладці Символіка можна змінити оформлення, а у вкладці Підписи - вивести назву об’єкту.

Створення мему на мапі полягає у зміні назв, форм, вигляду деяких об’єктів. Виберіть необхідний шар, натисніть ПКМ і виберіть “Переключити Редагування”, потім “Редагувати/Вибрати/Обрати об’єкти”. Обравши необхідні об’єкти (обрати декілька можна із затиснутим Ctrl), натисніть “Редагувати/Вирізати об’єкти”. Переключіть редагування знову, із збереженням. Створіть новий шар із цими об’єктами (“Редагувати/Вставит Об’єкти як…/Створити векторний шар…”), введіть місце збереження нового файлу та натисніть ОК. Тепер змініть зовншіній вигляд та переключіть редагування нового шару. Натисніть (Шар/Відкрити таблицю атрибутів)(F6) та врешті-решт змініть назву об’єктів (зазвичай це в колонці name). Знову переключіть редагування, із збереженням.

Експортування мему

Натисніть “Проект/Створити макет друку…” (Ctrl+P), додайте на нього мапу.

Обов’язково додайте підпис “Дані мапи: © OpenStreetMap contributors”! Інакше вас забулять учасники OSM спільноти.

Нарешті натисніть “Макет/Експортувати як зображення..” та отримайте довгоочікуваний мем:

мєм

Вибачте, що застряг у 2018-му перейменував факультети на честь Рікардо Мілоса.

Я ще зробив більш доречніший для цього місця мем, але вам я його не покажу. 😈

Бажаю вам удачі у створенні мему, який піднесе OSM на хвилю хайпу. 😉

Location: Голосіївський район, Київ, Україна

Складно мапити в онлайн редакторі, або не все зрозуміло які теги ставити? Тоді спробуй цю програму: StreetComplete

екран

Вона просто задає питання і простими словами пояснює що це таке. Далі просто оберіть те що ви бачите і все - на карту буде доданий тег/місце.

Завантажити програму тут

Location: Галицький район, Львів, Львівська міська громада, Львівський район, Львівська область, Україна

Привіт, %юзернейм% ! Радий вітати тебе тут !

Як ти знаєш, багато молоді не займається спортом, а часто просто бухають або не вилазять з інтернетікоу (“ой, як ти тошниш, давай прікращай”), тому я вирішив позначити місце їх потенційної дислокації на супір-мега мапі (звісно, що 90% з них не знають про ОСМ / Османд / мопс.ме / 2гіс і інші карто-системи , тому і шкати такого не будуть). Кароч, шо я надибав. Більшість з них - а це “leisure=pitch” і “sport=*” не мають вказаного типу покриття. Та шо там покриття, іноді взагалі не мають видів спорту.
Так от, младєнци, якось ми вирішили з робочою компашкою пограти в баскетбол, і більшість з них, не задумуючись, пішла шукати “баскетбол” в карті-аплікушці від компанії, назву якої стидно навіть називати. Намутивши швиденько запит в ОВЕРПАССі, я знайшов купу майданчиків баскетбольного типу. Але більшість не хотіла йти на поле з будь-яким покриттям, томущо грати в баскет на грунтовці і після дощу - мало кому сподобається.


Знайшли круте поле по “surface=asphalt”. Вирішив я нанести тип покриття на цю ділянку. Почитавши вікі ОСМ”а для комбінацій leisure=pitch або leisure=stadium (так, це різні речі) я замутив нашвидкоруч (більшість прислівників пишуться разом, так) запит в славнозвісний оверпасс я знайшов купу полів. Але що впало/спало на очі, так це відсутність покриття. https://overpass-turbo.eu/s/YBv (штуку в середині geocodeArea можна замінити на будь-який населений пункт, видравши назву з name:en ). Примітка : мапити поля в Малині Житомирської області треба в останню чергу :-)
Кароч, знайшов ще одну забавку на купу вихідних ). Звісно, що без супутникових знімків - не обійтись.
#tag #sport #ukraine #kyivnotkiev

Location: Шевченківський район, Київ, Україна

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

Далі коротка інструкція, як я це реалізував за допомогою двох сервісів – Osmcha і IFTTT.

  • Налаштовуємо фільтр в OSMcha

  • Спочатку полігоном позначаємо потрібну територію моніторингу

  • BBox size bound вказую або 1 або 2, це для того, щоб сюди потрапляли лише правки в межах конкретного виділеного поля, а не як в History на головній osm.org.

  • Коли всі параметри фільтрування вказані – зберігаємо фільтр.

  • Пишемо довільну назву для фільтра

  • Для кожного фільтра генерується окрема rss-стрічка. її URL копіюємо. Він нам пригодиться далі для IFTTT.

Далі переходимо у сервіс IFTTT, який допоможе нам зв’язати все з Телеграмом.

  • Створюємо новий recipe

  • Тут шукаємо RSS і вибираємо пункт New feed item

  • Тут вставляємо URL RSS стрічки з Osmcha
  • Створюємо триггер

  • Далі треба додати Телеграм і вибрати пункт Send message

  • Далі залишаємо стандартні налаштування і тиснемо Create action.

Це в принципі все з налаштувань. Клікаєте далі по тому як веде вас IFTTT.

Вже зовсім скоро (якщо будуть зміни мапи звісно) вам будуть приходити в месенджер отакого вигляду повідомлення.

Оригінал на https://github.com/mapbox/mapping/wiki/Overpass:-Frequently-used-queries Новіше за дату


[out:xml][timeout:600];(way["highway"](newer:"2015-05-30T07:00:00Z")({{bbox}}););out body;>;out skel qt;

Зміни у певний період


[out:xml][timeout:600];(way["highway"](changed:"2015-05-14T07:00:00Z","2015-05-30T07:01:00Z")({{bbox}}););out body;>;out skel qt;

Зміни між двома датами


[diff: "2015-06-30T15:00:00Z","2015-09-21T15:00:00Z"][out:xml][timeout:25];(way["highway"]({{bbox}}););out body;>;out skel qt;

Редагування користувача


[out:json][timeout:25];(node(user:"ramyaragupathy")({{bbox}});way(user:"ramyaragupathy")({{bbox}});relation(user:"ramyaragupathy")({{bbox}}););out body;>;out skel qt;

Вибрати певний теґ


[out:json][timeout:25];(node["amenity"="hospital"]({{bbox}});way["amenity"="hospital"]({{bbox}});relation["amenity"="hospital"]({{bbox}}););out body;>;out skel qt;

Вибрати усі amenities


[out:json][timeout:25];(node["amenity"]({{bbox}});way["amenity"]({{bbox}});relation["amenity"]({{bbox}}););out body;>;out skel qt;

Вибрати певний теґ з певним ключем


[out:json][timeout:25];(node["highway"="footway"]["footway"!~"."]({{bbox}});way["highway"="footway"]["footway"!~"."]({{bbox}});relation["highway"="footway"]["footway"!~"."]({{bbox}}););out body;>;out skel qt;

Запит всередині запиту


[out:json][timeout:250];((way({{bbox}})[highway='primary'];relation({{bbox}})[highway='primary'])->.a;node.a[name='Sand Hill Road'];);out body;>;out skel qt;

Пошук теґу на певній території


[out:json][timeout:250];(area[name="Palo Alto"];way(area)["building"];relation(area)["building"];);out body;>;out skel qt;

Коротка історія про те, як маючи генеральний план міста можна суттєво покращити якість одного конкретного міста чи регіону.

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

Одна з таких плям – місто Чортків. І хоча це по суті друге найбільше місто в області (після Тернополя), дані в OSM тут були дуже обмеженими – не було землекористування, деякі вулиці ще зі старими назвами, відсутні або криві будинки, тощо.

На щастя зовсім недавно в міста з’явився сучасний генеральний план, що означає, що його можна використовувати при мапінгу в OSM (ліцензія PublicDomain).

Генплан Чорткова

Перше, що зробив по аналогії з Пологами, це завів проект на HOTOSM – https://tasks.hotosm.org/projects/9187/tasks/ (до речі, там ще можна пройтись і перевірити все, якщо хтось має бажання). HOTOSM помагає не запутатись і системно замапити все.

Із знайденого генплану нарізав тайли для підключення в JOSM по інструкції від darkonus [1], [2]. Самі тайли завантажив собі на сервер, щоб можна було їх зручно використовувати.

Загалом процес зайняв десь 18 днів мапінгу по вечорах. Результати далі. Традиційно подяка Gontsa за візуалізацію процесу. Всі картинки клікабельні

14 зум

16 зум. Центр міста

Зрозуміло, що доповнювати в місті є ще багато чого – РОІ, уточнення існуючих даних, але це все треба вже робити на місці. З дивану не вийде :)

P.S. Нагадаю, що в нас є українська спільнота OpenStreetMap в телеграмі, де завжди можна або щось запитати, або увірватись в подібний проект :) Приєднуйтесь!

Location: Центр, Чортків, Чортківська міська громада, Чортківський район, Тернопільська область, 48501, Україна

8 серпня проект OpenStreetMap святкував свою 16 річницю. Українська спільнота вирішила провести мапатон (від англ. map + marathon), замапивши одне з міст в Україні, де було обмежена кількість даних. Вибір випав на місто Пологи, Запорізької області. Про підготовку, проведення та результати мапатону читайте далі.

Отже, власне чому було вибрано Пологи. Першочергово була ідея замапити якесь місто з населенням 16000 осіб (ну прив’язка до 16-річчя проекту і всяке таке :). Керувались кількома аспектами – в місті має бути мало даних, мають бути якісні джерела даних для віддаленого мапінгу (як знімки Mapillary чи генплан).

От приклад, як виглядала робоча табличка.

В результаті зупинились на місті Пологи, в якого знайшовся сучасний генплан (Alex Pro 5, привіт). Після ще кількох годин обговорень в спільноті, фінально взялись за підготовку мапатону саме для цього міста.

Для уникнень конфліктів правок було вибрано HOTOSM, як менеджера завдань (andygol, привіт). Написали описи, рекомендації і інструкції.

Gontsa намалював отаку прекрасну обкладинку

darkonus перетворив растровий файл з генпланом в тайли і прив’язав їх до знімків Bing, для ще більш зручного мапінгу. ququruzka це все залив на свій сервер.

Тепер трошки результатів і цікавих фактів:

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

  • Загалом в рамках мапатону було надіслано 923 набори змін (станом на 10:30 22 серпня)

  • були і відеостріми від Dyoma: [1], [2] , velmyshanovnyi – [1], a ID’s взагалі провів 24-годинний стрім (жаль, що на платформі Twitch і відео нема).

  • загалом участь взяло 22 учасники, які мапили та перевіряли правки. Нижче скріншот з HOTOSM:

Ну і головні результати – власне сама мапа

Пологи - 14 зум ДО та ПІСЛЯ мапатону (картинка клікабельна)

Центр міста ДО та ПІСЛЯ мапатону (картинка клікабельна)

Звісно, це не все що спільнота хотіла зробити, але у порівнянні з тим що було це досить значний крок вперед до сталого розвитку Пологів на шляху створення та поширення вільних та відкритих даних. Це наочний приклад того, як ми всі гуртом крок за кроком можемо робити внесок в розбудову нашої країни.

Location: сквер, Пологи, Пологівська міська громада, Пологівський район, Запорізька область, 70608, Україна

Актуально для сільської місцевості

Обов’язкові:

highway=*
name=*
surface=*

Додаткові:

smoothness=*
lanes=*
ref=*
sidewalk=*
lit=*

highway=
secondary - між колишніми районними центрами (територіальні - Т-06-03)
tertiary - основні між селами
unclassified - неосновні між селами
residential - житлові
service - на території підприємств, під’їзди до будинків
track - польові та лісові
footway - пішохідні доріжки та тротуари

surface=
asphalt - асфальтобетонне покриття
compacted - білощебеневе покриття
ground - земля

Дороги в асфальтобетонному покритті

Основна дорога

https://www.openstreetmap.org/way/51783857
highway=secondary
surface=asphalt
ref=Т-06-05

Дорога від села до села

https://www.openstreetmap.org/way/837078863
highway=tertiary
surface=asphalt

Дорога з вулецею в селі

https://www.openstreetmap.org/way/803868978
highway=residential
name:uk=Незалежності вулиця
name=Незалежності вулиця
surface=asphalt

Під’їзди до будинків та на підприємствах

https://www.openstreetmap.org/way/829955730
highway=service
surface=asphalt

Дороги в білощебеневому покритті (відсів)

Дорога від села до села

https://www.openstreetmap.org/way/183008862
highway=tertiary
surface=compacted
ref=С061701

Частина дороги до села

https://www.openstreetmap.org/way/837072523
highway=tertiary
surface=compacted

Частина дороги від села до чогось

https://www.openstreetmap.org/way/837072522
highway=track
tracktype=grade2

Дорога з вулецею в селі

https://www.openstreetmap.org/way/183008863
highway=residential
name:uk=Затишна вулиця
name=Затишна вулиця
surface=compacted

Location: Пулини, Пулинська селищна громада, Житомирський район, Житомирська область, 12004, Україна
Posted by Олександр Медведчук on 12 August 2020 in Ukrainian (Українська). Last updated on 13 August 2020.

З чого все починалося

При спробі знайти на просторах інтернету мапу, на якій би була актуальна інформація по моїй громаді (наявність будівель та їх вірна нумерація, декомунізовані назви вулиць, інфраструктура, бізнес тощо), я так і не знайшов таку, яка б повністю задовільняла мої потреби. Також хотілося б мати можливість вносити певні зміни на мапу. На цьому етапі були відкинуті всі пропрієтарні мапи, і саме так я познайомився з OpenStreetMap. На той момент я вже певний час працював в програмі QGIS і мав велику ідею створення такої мапи, на якій будуть відображені всі заклади інфраструктури (освіта, культура, медицина і т.д.), класифікація та покриття доріг, банки та банкомати, магазини та кав’ярні, визначні та просто цікаві місця тощо. І щоб на тій мапі можна було побачити всю необхідну інформацію: час відкриття та обідньої перерви, режим роботи в період карантину, наявність Wi-Fi тощо. І найголовніше, щоб це було у відкритому доступі - для всіх і кожного!

Вихідні дані

Власноруч створені шари:

На жаль ДержГеоКадастр не надає подібні шари векторного формату у відкритому доступі, тож отримані вони були внаслідок кропіткої роботи та дуже великої кількості недоспаних ночей.

  1. межі громади;
  2. межі старостинських округів;
  3. межі населених пунктів;
  4. заклади освіти (ЗСО та ЗДО);
  5. заклади культури (СБК, БК, бібліотеки, музеї);
  6. медицина (ФП, ФАП, АЗПСМ тощо);
  7. декомунізовані назви вулиць;
  8. певні земельні ділянки в комунальній власності (підготовлені для аукціону);
  9. земельні ділянки для сінокосіння і випасання худоби.

Також на руках були Технічні звіти “Виконання комплексу інженерно-вишукувальних та знімальних робіт для виготовлення генеральних планів” чотирьох населених пунктів громади, які містили дані в векторному форматі shp.

Якщо власноруч створену інформацію можна використовувати як завгодно, то дані отримані в наслідок подібних робіт треба, задля подального використання, оприлюднити. Зробити це можна на офіційному сайті громади, або ж на спеціальному порталі.

Портал відкритих даних

  1. Спроба оприлюднити shp-файли на порталі data.gov.ua;
  2. Відмова у зв’язку з невідповідністю даних (*.shp in shp.zip);
  3. Експорт шарів у *.geojson у СК УСК-2000 (UCS-2000 / Ukraine TM zone 9 в QGIS (для Житомирської області));
  4. Оприлюднення geojson-файлів на порталі Відкритих даних. thx to Ренат Rino

За всі нижченаведені посилання, підказки, консультації, знання та постійну підтримку особлива повага та подяка Ігореві VARVAR master!

QGIS:

Модулі: QuickOSM, QuickMapServices, qgis2web.
Підключення кадастрової карти України: http://wikimap.dzk.gov.ua/wiki/Додати_WMS_шар_з_ПКК_до_проекту_QGIS

  1. Підготовка необхідних наявних шарів (внесення певних key-value (IMHO в JOSM’і це робити зручніше)).
  2. Для зручності використання інструментів геопроцесінгу використовував метричну УСК-2000 (EPSG:6383 - UCS-2000 / Ukraine TM zone 9 (бо це місцева для мене, в інших областях буде інша зона)). Потім експортував в WGS-84, задля використання в JOSM. Конвертація файлів shp в geojson дозволила створювати поля шарів з потрібною довжиною, адже формат shp обрізає їх до 10 символів.

Робота в JOSM

Модулі: auto_tools, SimplifyArea, terracer, todo, utilsplugin2
Дуже корисні посилання:
Фільтр: http://josm.openstreetmap.de/wiki/Help/Dialog/Filter
Пошук: https://wiki.openstreetmap.org/wiki/JOSM/Search_function
Гарячі клавіші: https://josm.openstreetmap.de/wiki/Uk:Shortcuts

Ті гарячі клавіші, які використовував я:
З коробки:
Q - вирівнювання кутів полігону
M - з’єднати точки
C - з’єднати лінії
P - розрізати лінію в точці (-ах)
Shift+I - спільна точка на перетині двох ліній
Ctrl+Shift+G - заміна геометрії (“об’єднання” старих контурів полігонів/ліній з новими та їх тегів)
Shift+B - центрування точки між двома іншими (можна також на лінії)
SimplifyArea:
Ctrl+Shift+Y - вирівнювання ДУЖЕ тупих кутів (видалення зайвих точок)
terracer:
Shift+T - розрізання полігону на два і більше (автоматично ріже перпендикулярно, при наявності точок - по них)

Моя черговість наповнення населеного пункту:
Дороги + вулиці
addr:housenumber=90
addr:street=Шевченка вулиця
building:levels=5/1
building=apartments/house

Будівлі
addr:housenumber=90
addr:street=Шевченка вулиця
building:levels=5/1
building=apartments/house

Водойми
natural=water
water=pond

Спортивні споруди/майданчики
leisure=pitch
sport=volleyball/basketball/soccer
surface=sand/asphalt

Лендюзи
Shift+P - створення паралельної копії лінії
Затиснутий Alt + ЛКМ - лінія без тегів
Я робив так: https://josm.openstreetmap.de/wiki/Uk:Help/Action/Parallel

Location: Пулини, Пулинська селищна громада, Житомирський район, Житомирська область, 12004, Україна

Однією з killer feature для мене у JOSM є фільтри, які дозволяють бачити лише ту інформацію, яка мені потрібна зараз. Найбільш “неприємним” для ока є бачити десятки маленьких жовтих квадратиків node, які не несуть великої інформації, особливо, коли редагуєш дороги. Чи можна їх сховати? Льогко! У фільтр задаємо:

type:node untagged

після цього ставимо галочки E та H.

Насолоджуємося результатом!

Перелік вулиць, які підлягають перейменуванню в рамках закону «Про засудження комуністичного та націонал-соціалістичного (нацистського) тоталітарного режимів та заборону пропаганди їхньої символіки» можна переглянути на мапі або у вигляді списку. Джерелом даних про нові назви вулиць може слугувати “Адресний реєстр”, який можна відкрити в Гугл-таблицях або скачати файл Excel. Нові назви вулиць містяться в стовпці Geon_Name. Для зміни назви вулиці в редакторі ID (редактор openstreetmap у браузері) або JOSM, до старої назви вулиці дописуємо префікс old_ (приклад: old_name=Карла Маркса вулиця). Нову назву вулиці, відповідно, позначаємо тегом name. Зверніть увагу на район, якому належить населений пункт, вулиці якого ви редагуєте, тому що в межах однієї області однакова назва населеного пункту може зустрічатись декілька раз.

  1. Недоліт. Об’єкти досить близько, але не з’єднані між собою.
  2. Переліт. Об’єкти перетинаються, але без спільної точки.
  3. Накладання. Об’єкти накладені один на інший (мають спільні точки).
  4. Острови (дороги без з’єднання). Дорога не з’єднується з іншими довкола.