Навигатор для людей с ограничениями подвижности (с исходниками)

в 21:17, , рубрики: geolocation, gis, java, open source, краудсорсинг

image
Вышел небольшой open-source построитель пешеходных маршрутов для людей с ограниченными возможностями.

Сразу ссылка на исходники: https://github.com/korifey/Smooth


Сейчас это организованно так:
Крутится это всё на Java сервере, в т.ч. алгоритм маршрутизации.
На первых этапах пришлось повозиться над оптимизацией, чтобы переварить карты размером с большой город и больше.
В качестве исходных данных используются актуальные дампы OpenStreetMaps, которые периодически обновляются.
Препятствия (высокие поребрики, ограждения и прочее) берутся у «Красивого Петербурга».

Так же авторам удалось получить данные по общественного транспорту — берутся они через API транспортного портала Санкт-Петербурга. Он не открыт, доступ предоставляется по заявке для определённого IP. Чтобы интегрировать их в систему необходимо очень серьёзно обработать и привести к нужному формату. Пока авторы работают над обеспечением ключевого функционала сервиса — прокладкой пеших маршрутов и обработкой сообщений о препятствиях.

Маршрут предоставляется в виде координат точек пути. Но вот одна из проблем: у точек пути нет типа, понять где остановка, а где просто точка поворота, например, можно только по косвенным признакам.

Другая проблема — направление. Ведь в отличие от тротуаров с узла-остановки можно двигаться только в одном направлении.

К сожалению, информация по тротуарам сегодня далеко не полная. Поэтому пока приложение строит маршрут по линии дорог, но с повышающим коэффициентом. Даже если путь через известный тротуар длиннее, будет использован он, а не проезжая часть.

Это, конечно, не оптимальное решение. Одна из важных задач, которая стоит перед создателями сервиса, — это найти человеко-ресурсы для нанесения тротуаров на карту OSM (авторы обещают подготовить инструкцию, следуя которой люди смогут помочь сервису и движению OpenStreetMap одновременно).

К слову — требуются волонтеры: при помощи редактора на сайте OSM наносить тротуары на карту. Со всей доступной информацией по этому тротуару.

Основные изменения сейчас происходят на фронт-энде. Хотя в ближайшее время и бэкенд тоже будет доработан для более качественного приёма препятствий.

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

Авторы и сами пробовали пользоваться своим сервисом. Иногда он плохо строит маршрут из-за незнания тротуаров. Но местами знает город лучше более серьёзных навигационных сервисов. Яркий пример — путь с Дворцовой площади на Большую Конюшенную улицу (Smooth строит маршрут через дворы Капеллы).

В коде местами всё достаточно сумбурно, но если есть понимание, как сделать лучше — присылайте ваши пуллреквесты!

image

Авторы проекта – Никита и Виталий Касьяновы, Дмитрий Иванов и Наталья Давыдова. Они представили свою идеюна хакатоне Open Data Hackathon 2014: Hack for Piter, который организовали Теплица социальных технологий, Фонд «Открытый город» и Университет ИТМО.

Автор: gsuvorov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js