Маршруты

Настоящий маршрут: три вида транспорта и честные километры

Приложение строит маршрут по реальным дорогам под ваш транспорт — и честно говорит, когда адрес вне покрытия карт, вместо того чтобы выдать красивый ноль.

Заказ выглядит золотым: платят хорошо, а до адреса, если верить прикидке, ехать всего ничего. Вы соглашаетесь — и оказывается, что «всего ничего» это дорога в объезд реки, через единственный мост, полтора часа в один конец. Расстояние по прямой и расстояние по дорогам — это две очень разные цифры, и вторая стоит вам денег.

Приложение считает по второй. Оно строит реальный маршрут по дорогам — тот, которым вы поедете на самом деле, — и делает это отдельно под каждый вид транспорта.

Что делает приложение

Маршрут прокладывает движок OSRM по тому профилю, который соответствует вашему транспорту:

  • driving — легковая, кроссовер, фургон, грузовик, мотоцикл. Всё это для маршрута «авто».
  • cycling — велосипед.
  • foot — пешком.

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

Чтобы привязать ваши точки к дорожной сети, движку задан радиус поиска ближайшей дороги: 2000 м для авто и 1000 м для пешком и вело. Этот радиус — не мелочь настройки, а защита от очень дорогой ловушки.

Что за этим стоит

Ловушка «0 км за 400 км» Движок маршрутов «прилипает» к ближайшей точке своей карты без ограничения по расстоянию. Однажды на вопрос про Нижний Новгород он притянул обе точки к одному узлу на краю Москвы — за 400 километров — и бодро вернул «Ок, 0 км, 0 минут». Заказ без дороги и без времени выглядел бы бесконечно выгодным: вердикт «стоит ехать» на поездку в четыреста километров.

Именно от этого спасает радиус привязки. Если рядом с адресом нет дороги в пределах радиуса, движок не тянет точку через полстраны, а честно отвечает «дороги рядом нет». Приложение переводит этот ответ на человеческий язык:

Этот адрес пока вне покрытия наших карт — введите километры и минуты вручную.

Это честнее красивого нуля. Лучше попросить человека вбить цифры руками, чем уверенно посчитать заказ бесконечно выгодным и отправить его в четырёхсоткилометровый минус.

Где пеший и вело-маршрут настоящие

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

Запасной расчёт — всегда наготове Если сервер маршрутов недоступен, приложение не встаёт колом. Оно считает расстояние по прямой (формула гаверсинуса), умножает на коэффициент извилистости дорог 1,35 и прикидывает время по средней скорости. Это не тумблер, который надо включать, — запасной расчёт работает всегда и молча подхватывает, когда основной движок молчит.

Почему это важно

Вся оценка заказа держится на километрах и минутах. Ошибётесь в них — и посыпется всё: стоимость дороги, почасовая, вердикт. Расстояние по прямой почти всегда врёт в вашу пользу, а значит — толкает брать заказы, которые на реальной дороге окажутся убыточными.

Настоящий маршрут по дорогам под ваш транспорт закрывает эту дыру. А честное «вне покрытия» вместо выдуманного нуля закрывает вторую, куда более коварную: приложение, которое уверенно ошибается, опаснее того, что честно говорит «здесь я не знаю, посчитайте сами».

Как строится маршрут

  • Маршрут по дорогам строит движок OSRM (routing_service.py) по профилю из вашего транспорта: driving / cycling / foot (vehicle_service.py — TRANSPORT_TYPES, osrm_profile).
  • Радиус привязки к дороге: 2000 м для авто, 1000 м для пешком и вело — защита от «прилипания» точки за сотни километров.
  • Ответ «нет дороги рядом» превращается в честное «адрес вне покрытия — введите км и минуты вручную», а не в мнимые 0 км / 0 мин.
  • Пеший и велосипедный маршрут по-настоящему собраны только для Москвы и Санкт-Петербурга; в остальных городах — оценка по прямой с предупреждением.
  • Запасной расчёт при недоступном сервере: гаверсинус × 1,35 (извилистость дорог) и время по средней скорости — работает всегда, без тумблера.

Проверь любой заказ за секунду

Установи приложение и посмотри честный вердикт по своему следующему адресу — стоит ехать или нет.

Скачать для Android Android 8+ · установка из файла · бесплатно