Я решил что сайт слишком уныл, поэтому попросил нарисовать мне всяких животных, которых вы видите

Wander/TravelPath — сервис построения туристических маршрутов

Wander/TravelPath — сервис построения туристических маршрутов

Проект Wander или TravelPath создан для любителей пеших прогулок по Санкт-Петербургу и позволяет автоматически генерировать туристические маршруты между заданными точками.

Если вы не знаете куда сходить погулять — мой проект поможет вам и покажет неизвестные вам ранее интерестные места города.

Почему два названия?

Изначально проект назывался TravelPath, под таким названием были выпущены несколько браузерных версий и вообще название мне нравилось, за исключением одного но: у названия крайне неудачная аббревиатура, которую не хотелось бы использовать в логотипе.

Поэтому при разработки мобильной версии приложения мне предложили название Wander и я согласился. Браузерная версия так и осталась под старым названием. Может быть, когда у меня будет время — я её переделаю, но это не приоритетная задача, ведь сама концепция приложения говорит о том что им должны пользоваться с мобильных устройств.

История

В базе данных есть туристические объекты 4-х категорий — Музеи, Парки, Памятники, Церкви. Пользователю нужно только выбрать начальную и конечную точки маршрута и он получает проложенный по карте маршрут прогулки, проходящий через близлежащие туристические объекты:

travelpath

В первой версии проекта была только база данных объектов, а пути по карте строились с помощью Google Maps API. Но этого оказалось недостаточно т.к. необходимы были именно пешеходные маршруты — т.е. прокладка пути в том числе и по паркам, пешеходным улицам и прочим объектам, недоступным автомобилям и по которым не строил маршрут гугл.

Во второй версии я написал собственный механизм построения пути, основанный на данных из OpenStreetMap. В основе него лежал алгоритм A*, позволяющий строить путь по огромному графу (более 600 тысяч вершин) за приемлемое время даже на не очень высокопроизводительном для таких задач языке PHP.

Однако всё равно хотелось получить большую скорость работы, к тому же я понимал что при появлении трафика в текущей реализации производительность сильно просядет. Поэтому в третьей версии я перевёл построение пути на OSRM. Этот проект написан на C++ и имеет открытый исходный код. Я развернул его на своём сервере и подключил к сайту. По сравнению с предыдущей реализацией, качество маршрутов несколько упало из-за особенностей обработки данных графа, но скорость работы того стоила.

Браузерная версия доступна по адресу travelpath.ru

Android

Затем весной 2016 года я принялся за приложение под Android. Кирилл Буров, один из основателей компании Le-Dantu, предложил мне свою помощь с дизайном мобильного приложения, за что ему большое спасибо — дизайн вышел действительно классный. Совместными усилиями, занимаясь проектом в свободное время, мы выпустили приложение к осени.

При построении маршрута приложением часть работы выполняется самим телефоном: это выбор достопримечательностей в маршрут. А для получения пути между ними приложение запрашивает мой сервер, всё тот же самый OSRM.

Приложение под android вы можете скачать с Google Play.