YourMaps.io - визуальный редактор для экспорта и обработки OSM данных

По работе мне часто приходится работать с OSM данными. Мы используем их в самых разных исследованиях и проектах, про некоторые из них я писал на хабре (раз, два).

И всегда повторялся один и тот же муторный процесс импорта OSM данных. Взять библиотеку, скачать, распарсить, сконвертить из сложного OSM XML представления в GeoJSON так как мне надо (и нет, всякие JOSM это делают плохо и пользоваться их конвертацией не получалось). И все это еще нужно делать из кода и регулярно.

В итоге родилась идея проекта для упрощения этого процесса экспорта.

Да, уже есть проекты, позволяющие из OSM что-то выдирать. Есть API фильтрации объектов и язык запросов у Overpass, есть проект HOT. Но там все либо слишком сложно (учить еще один язык запросов мне лень), либо примитивно (фильтрация только по тегам). А хотелось чего-то и более мощного, и более простого в освоении.

В итоге родился проект https://yourmaps.io

Я закодил там визуальный редактор, позволяющий накликать мышкой блоки, отвечающие простым операциям (скачать карту для территории, отфильтровать объекты по условию, применить какие-то преобразования). Про технические нюансы реализации можно прочитать в моей статье на Хабре.

Вот понадобились мне для исследования радиусы доступности школ в определенном районе СПб. Я пошел и быстро накликал мышкой вот такой граф:

Он скачивает указанную область карты из OSM, выделяет из нее школы и границы нужного МО, оставляет только те школы, что попадают внутрь границы, находит центроид их геометрии и строит буфер вокруг них. На выходе сразу GeoJSON, который можно скачать или посмотреть и поделиться ссылкой.

Можно, конечно, делать и более сложные примеры. Некоторые из них описаны в документации, например весьма нетривиально делается получение полигонов зданий больниц или школ, так как иногда нужные amenity теги стоят на самом здании, а иногда - на точке внутри здания. Или на области, в которой здание стоит. Но все это тоже можно обработать в визуальном редакторе, без привлечения сторонних инструментов типа QGIS или написания скриптов.

Сервис позволяет работать не только с OSM данными. Можно загружать свои собственные GeoJSONы. Например, в одном из исследований мы взяли официальные данные по зеленым насаждениям в Питере и пересекли их с данными из OSM. Получив зеленые зоны, которые не добавлены в официальный список ЗНОПов и по которым можно было бы запросить их добавление (статус ЗНОП защищает зеленую зону от застройки и дает еще некоторые бонусы). Вот так выглядит интерфейс редактора и граф для этой задачи:

В итоге инструмент позволяет быстро проверять какие-то гипотезы на OSM данных и получать готовые данные для работы наших сервисов в простом формате. Надеюсь, кому-нибудь тут он тоже окажется полезным.

Предложения и замечания по работе можно писать тут или на info@yourmaps.io

Ссылка: https://yourmaps.io
Документация: https://docs.yourmaps.io
Основные понятия и пример работы: https://docs.yourmaps.io/graphs-and-pipelines/
Видео-урок по рисованию карты (в конце страницы): https://docs.yourmaps.io/about/