OpenStreetMap logo OpenStreetMap

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

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

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

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

В итоге я быстро набросал прототип сервиса https://yourmaps.io

Процесс экспорта представляет собой пайплайн с некоторым количеством входов и одним выходом, по которому идет поток объектов карты. Представляется он в виде графа, где каждый узел - это какая-либо операция над объектами, например фильтр. Создается граф в простом визуальном редакторе.

Вот пример такого графа, выбирающего все парки в границах МО “Черная речка” в СПб:

Граф обработки

Рисование такого графа не требует навыков программирования, просто мышкой потыкать и нажать кнопочку “запустить обработку”. Кроме банальных фильтров по тегам можно делать фильтры по геометрическим операциям (например, пересечение заданной области). В будущем можно будет добавить еще больше всяких разных видов операций

Чтобы не натыкивать каждый раз одно и то же, повторяющийся участок графа можно сохранить как шаблон, и затем вставлять его одним узлом в другие графы. Например, узел City Greenery из картинки выше разворачивается вот в такой подграф:

Фильтр для зеленых зон

Запускать экспорт и скачивать результаты можно либо из веб-админки, либо через API.

Хочется узнать, будет ли такой инструмент полезен кому-то кроме меня и будут ли какие-то идеи и предложения. Если кого проект заинтересовал и есть мысли по его поводу - пишите мне или тут, или на evsmirnov@itmo.ru

Сам сайт: https://yourmaps.io Документация https://docs.yourmaps.io

Discussion

Comment from freeExec on 24 April 2020 at 11:23

Возможно, было бы неплохо, если после графического конструктора он выплёвывал код для overpass.

Comment from Егор Смирнов on 24 April 2020 at 11:27

Возможно, но вообще идея - наделать всяких видов фильтров, в том числе сложных операций, которые напрямую на запросы оверпасса не ложатся. Потом я добавлю, например, возможность импорта своих собственных geojson файлов и их объединение с данными из OSM, а также импорт из других источников (например всяких государственных ГИС). Т.е. это не чисто OSM история.

Log in to leave a comment