My speech about solving the map matching problem with the OSRM. I describe what problems you can face out and how to solve them. Also I describe algoritmical principles of hidden Markovs chain approach (how OSRM solves this problem inside).
Big data algorithms and data structures for large scale graphsAlexey Zinoviev
Alexey Zinoviev presents graph processing tools and new algorythms for shortest path problem on the DUMP-2014 (popular Ural IT conference)
Keywords: Pregel, Apache Giraph, shortest path problem
Video: http://youtu.be/MGccYYrP9f0
Алгоритмы и структуры данных BigData для графов большой размерностиAlexey Zinoviev
Article "Algorithms and Data Structures Big Data for large-scale graphs" presented on School-conference on Mathematical Problems of Informatics http://omskconf2013.oscsbras.ru/index.html by Alexey Zinoviev
Big data algorithms and data structures for large scale graphsAlexey Zinoviev
Alexey Zinoviev presents graph processing tools and new algorythms for shortest path problem on the DUMP-2014 (popular Ural IT conference)
Keywords: Pregel, Apache Giraph, shortest path problem
Video: http://youtu.be/MGccYYrP9f0
Алгоритмы и структуры данных BigData для графов большой размерностиAlexey Zinoviev
Article "Algorithms and Data Structures Big Data for large-scale graphs" presented on School-conference on Mathematical Problems of Informatics http://omskconf2013.oscsbras.ru/index.html by Alexey Zinoviev
Принципы и модели оптимизации логистических систем крупных грузовладельцевАлександр Головизнин
«Принципы и модели оптимизации логистических систем крупных грузовладельцев»
Презентация к докладу Гопкало Ольги на 4-ой международной конференции по развитию портов и судоходства в рамках выставки Транстек-2014. В докладе описан единый алгоритм анализа, который может быть использован в различных областях – при анализе конкурентоспособности морского терминала или разработке оптимальных логистических решений для экспортеров или при освоении месторождений.
Formal Methods in Robotics
Dmitry Mordvinov, Yury Litvinov, Saint Petersburg State University, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
Принципы и модели оптимизации логистических систем крупных грузовладельцевАлександр Головизнин
«Принципы и модели оптимизации логистических систем крупных грузовладельцев»
Презентация к докладу Гопкало Ольги на 4-ой международной конференции по развитию портов и судоходства в рамках выставки Транстек-2014. В докладе описан единый алгоритм анализа, который может быть использован в различных областях – при анализе конкурентоспособности морского терминала или разработке оптимальных логистических решений для экспортеров или при освоении месторождений.
Formal Methods in Robotics
Dmitry Mordvinov, Yury Litvinov, Saint Petersburg State University, Saint Petersburg
12 - 14 November 2015
Tools and Methods of Program Analysis in St. Petersburg
2. В чём проблема?
● GPS возвращает координаты, а у нас ГИС
● Данные приходят пачкой (трек из кучи точек)
● В каждой точке 6 знаков после запятой и шумы
○ GPS – не основная функция телефона
○ Город – это сложная среда для GPS
3. Что будет в докладе
● OSRM
● История моих ошибок при его использовании
● Теория на границе математики и machine learning
● Минимум кода, только ссылки куда смотреть
5. Map matching
Map matching is the problem of how to match recorded
geographic coordinates to a logical model of the real world,
typically using some form of Geographic Information System.
The most common approach is to take recorded, serial
location points (eg. from GPS) and relate them to edges in an
existing street graph (network), usually in a sorted list
representing the travel of a user or vehicle.
10. Подготовка данных
- Надо понимать язык программирования Lua
- И объектную модель OSM
+ Язык не сложный
+ Почти всё настраивается в одном файле
+ Есть готовые популярные конфигурации
11. По пунктам
● Качаем планету или выгрузку с GIS lab
● Правим файл запретов
● Вызываем osrm-extract
● Вызываем osrm-contract
● Запускаем сервер osrm-routed
12. Правка файла. Зачем?
Задать граф с которым дальше будем работать
● Выкинуть лишние дороги
● Максимально облегчить граф для скорости
● Исправить популярные ошибки и особенности карт
OSM
14. Пример правила которые нужно учитывать
Long Island Expressway HOV-3 Lane Into Queens-Midtown Tunnel
The existing bus and taxi high occupancy vehicle lane (HOV) into the
Queens-Midtown Tunnel is open for any motorists who have three or more
persons in their vehicle (HOV 3+). Motorcycles are permitted and must obey the
same rules as other motorists. The hours of operation are 7:00 am to 10:00 am on
the westbound LIE from Calvary Cemetery to the tunnel.
15. Правка файла. Где?
Файл osrm-backend/profiles/car.lua
Можно выбрать наиболее подходящий файл для своей
задачи.
16. Правка файла. Что?
● use_turn_restrictions=false
● oneway=’conditional’
● Убрать строку tolls из секции avoid.
● Обратить внимание на barrier_whitelist,
access_tag_whitelist, access_tag_blacklist
● Speeds не очень важен
32. Координаты
● Должны быть одной природы
● Нужно устранить дребезг
● Лучше всего оставить одну координату на 20 секунд
● На остановках GPS сходит с ума
33. Точность
Чем точнее координата, тем быстрее работает
На самом деле точность умножается на 3 под капотом
Очень большие значения могут заставить сервер уйти в
себя на часы
34. Время
● Без времени - петли
● С временем - разрыв трека
если задержка больше 3х
медиан
35. Направление
● Градусы от севера по часовой
● Точность в градусах
● Фильтрует кандидатов дорог
● Может ускорить при низкой точности
● Нет достоверных источников направления в телефоне
36. В итоге
● Фильтруем жестоко
● Стараемся стоянки не привязывать
● Ограничиваем максимальную точность
● Дорабатываем алгоритм по выходным данным
44. Время в matching не зависит от timestamps
This is not the function of the match plugin. The result
should always reflect the state of the internal data. It
does not interpolate trace data, it uses it as input to
compute the most probable route given its current
knowledge of the road network. It is basically like asking
OSRM "Hey what do you think this route would look
like".
[Patrick Niklaus (TheMarex)]
45. Nodes
● Соотносятся с osm_id
● Зная настоящие timestamp’ы можно вычислить
реальную скорость на участке.
● Используются в дополнительных настройках contract
46. Сбор базы данных
Идентификатор ребра node_id1 - node_id2
Итоговый запрос:
SELECT node_1, node_2, count(*) as cnt from edges_db
group by 1,2;
49. Что я хотел сказать
● Map matching - лучший способ ввести GPS в систему
● Обработанный трек привязывается лучше
● OSRM - одна из самых мощных систем для привязки
● Для работы с GPS не нужен платный софт