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

Email icon Bluesky Icon Facebook Icon LinkedIn Icon Mastodon Icon Telegram Icon X Icon

Discussion

Kommentti käyttäjältä freeExec 24. April 2020 klo 11.23

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

Kommentti käyttäjältä Егор Смирнов 24. April 2020 klo 11.27

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

Lokkaa sisäle kommentoidaksesi