Как навигатор рассчитывает время маршрута

Задумывались ли вы над тем, как навигатор узнаёт и рассчитывает время от пункта «А» к пункту «Б»? Откуда он «знает», с какой скоростью вы будете ехать? Ведь он же не только прокладывает маршрут, а ещё и указывает предполагаемое время прибытия.
Дело в том, что в него заложены не просто карта с сетью дорог, а этим дорогам назначены ещё и определённые свойства.
Не будем вдаваться в саму технологию создания карт: из каких источников берутся данные, в каких программах они создаются — это материал отдельной статьи. Сейчас коснёмся только особенностей прокладки маршрута. При нанесении сети дорог, улиц, переулков, паромных переправ и тому подобное, всем этим участкам дорожной сети назначаются определённые атрибуты. Прежде всего, и это основной параметр — это ограничение скоростного режима, причём эти ограничения строго соответствуют правилам дорожного движения. Например, максимально установленная скорость для загородных дорог — 90 км/ч, на автострадах, отмеченных специальным знаком — 110 км/ч, по городу — не более 60-ти и т. п. Конечно, есть дороги, где скоростной режим меняется интерактивно относительно потока машин, и данные по ограничению скорости выводятся на специальные электронные табло, но это частный случай по отношению к создаваемой карте.
Дорогам назначается ограничение по скорости. Возможен такой случай, когда, например, две улицы в городе по умолчанию имеют одно и то же ограничение максимальной скорости, но одна из них хорошо асфальтирована, имеет несколько полос, а другая однополосная и с худшим дорожным покрытием. В таком случае на карте для навигатора этим дорогам можно назначить ещё и разный статус.
Так вот, когда навигатор строит маршрут, он берёт данные со всех участков вашего пути, как по ограничению скорости, так и по классу того или иного отрезка дороги. И выбирает при равных скоростных ограничениях более высокий класс дороги, предполагая, что при движении вам будет комфортней и быстрее двигаться по дороге с более высоким классом. Затем он суммирует время, которое вы можете потратить на путешествие и таким образом выдаёт предполагаемое время прибытия. Понятно, что сейчас навигационные программы могут содержать более интеллектуальные алгоритмы по вычислению времени, ведь они ещё учитывают — двигаетесь вы в данный момент или стоите, вычисляют вашу среднюю скорость на том или ином участке.
В «Яндекс Картах» появилась опция выбора времени отправления для составления маршрутов на будущее
Пресс-служба «Яндекса» сообщила Хабру, что пользователи «Яндекс Карт» теперь могут выбрать желаемое время отправления и построить маршрут на будущее. Отмечается, что функция будет удобна для планирования долгих поездок или ситуаций, когда надо узнать время в пути в определённый момент.

Чтобы воспользоваться функцией, необходимо построить маршрут, нажать на иконку часов рядом с кнопкой «Поехали» и выбрать дату и время. После этого приложение покажет примерное время в пути на заданную дату. Если нажать на кнопку «Поехали», то приложение предупредит, что перестроит маршрут под актуальное время.
Отмечается, что для расчёта используется историческая информация о пробках, помогающая определить примерное время в пути. Раньше возможность узнать длительность маршрута на будущее была доступна только для общественного транспорта, сейчас же воспользоваться функцией могут и автомобилисты.
В компании рассказали, что функция может быть полезна пользователям, которые едут в аэропорт и хотят узнать, во сколько следует выезжать, чтобы не опоздать и не приехать сильно раньше. Важно отметить, что ранее опция была доступна в веб-приложении, а сейчас добавили поддержку на мобильных устройствах.
- Геоинформационные сервисы
- Транспорт
- IT-компании
Скажите пожалуйста! Яндекс-карты, навигаторы любой «породы» и т. п. — как рассчитывают скорость передвижения авто?
Что еще помимо типа дорожного покрытия учитывается? Понятно что по грунтовке ехать сложнее и медленнее. , по трассе — быстрее. Ну пробки — понятно. Но ведь все это рассчитывается исходя из какой то скорости? Какую скорость они считают — некую усредненную или исходя из разрешенной скорости на данной дороге (в данной местности, насел. пункте, трассе и т. п.) ? Или прост берется тупо — 60 км/час (или 90)?
Дополнен 10 лет назад
Речь про РАСЧЕТ времени которое мы БУДЕМ находиться в пути! Т. е. ПРОГНОЗ времени прибытия. Насколько можно верить этому расчету. Хочу просчитать маршрут.
Лучший ответ
Все навигаторы расчитывают скорость по принципу пройденного расстояния за единицу времени. То есть, допустим, раз в секунду (или чаще) , снимаются данные о местоположении, и из координат текущей и предыдущей позиций определяется пройденное расстояние, я зная его и время считается скорость.
Соответственно при не очень равномерном движении скорость будет немного отличаться он реальной.
Каляка Маляка — Идол ДемократииПросветленный (26316) 10 лет назад
Это понятно. Я про ПРОГНОЗИРУЕМУЮ скорость прибытия в ту или иную точку
Mark Pavlov Гуру (3496) По скорости других участников движения вычисляется скорость потока, и длина пробки. Из этих данных можно расчитать примерное время проезда данного отрезка пути, потом эти времена складываются и получается общее время пути. Если у системы нет данных о пробке или ином катаклизме на данном отрезке, то за скорость потока принимается Ваша текущая скорость (на текущем отрезке) либо максимальная разрешенная для конкретного участка
Остальные ответы
ну они знают среднюю скорость на определённом участке дороги. также данные по пробкам и т. д
впринципе с запасом лучше времени брать.
Как навигатор собирает информацию о пробках. По количеству смартфонов? Важные ответы

В закладки

Одна из самых удобных и полезных функций навигатора – показ пробок на дорогах. Даже если вы идеально знаете город, лучше него не сможете проложить оптимальный маршрут с учетом заторов.
Но у навигатора нет своих собственных глаз. Каким образом эти приложения понимают, где образовалась пробка?
Разбираемся, как это работает.
Откуда вообще навигатор берёт данные о пробках?
Есть два типа данных, которые работают в совокупности и помогают картографическим сервисам понять, где образовывается дорожный затор.
Для начала, у навигатора на сервере есть база знаний: информация о дорогах на карте, скоростных ограничениях и правилах проезда, дорожных знаках, POI (points of interest) – особых объектах, от супермаркетов и достопримечательностей до постов ГИБДД и дорожных камер.
Это условно статические данные, они не меняются мгновенно. Разве что кусок дороги закроют на ремонт или откроют новую заправку.
Динамические данные не менее важны. Это информация о дорожной ситуации, которая постоянно меняется. Координаты автомобилей, сообщения водителей и пассажиров, отметки о ДТП и так далее. Всё это динамические данные.
Что для навигатора называется пробкой?

В целом, пробка – это когда сравнительно много машин движется по дороге с небольшой скоростью (вплоть до нулевой). Но в этом определении есть два допущения:
Во-первых, что такое сравнительно много машин? В каждой навигационной программе этот параметр задается по-своему. Но в любом случае если одна машина едет по проселочной дороге со скоростью 10 км/ч, навигатор здесь пробку не покажет – слишком мало данных.
Во-вторых, что такое небольшая скорость? Та, что значительно меньше средней и/или максимально разрешенной на этом участке дороги. Как быть в ситуации, если на участке разрешено ехать 60 км/ч, но поток едет 30 км/ч практически всегда?
От сервиса к сервису, эти допущения различаются. Точные данные никто не раскрывает, ведь это основы алгоритмов, и их хранят в секрете. К тому же они вариативны и могут изменяться даже в реальном времени в зависимости от сезонности, времени суток, общей ситуации на дороге и так далее.
Откуда навигатор получает динамические данные?

Когда вы устанавливаете навигационное приложение, активируете GPS и подключаетесь к сети, то автоматически отправляете данные на сервер навигационной системы. Во многих приложениях можно также создавать сообщения и информировать о ДТП, засадах полиции и т.д.
Например, в Яндекс.Картах и Яндекс.Навигаторе можно поставить в настройках галочку “Сообщать о пробках” и передавать свои данные в сервис Яндекс.Пробки. Стандартный набор: ваши координаты (широта и долгота), скорость, направление движения.
Данные всегда обезличены. Сервис не знает вашего имени, номера вашего авто и т.д. Информация, которую передает приложение, не привязывается к вашей учетной записи. Но трек (след движения по карте) строится для конкретного объекта.
Сообщения с данными отправляются каждые несколько секунд. Старые данные удаляются и не участвуют в расчете.
Сервис Яндекс.Пробки получает данные не только от обычных водителей, но и от компаний-партнеров. Это службы такси, доставки и другие фирмы, машины которых регулярно ездят по городу.

Наконец, информация берется с датчиков на дорогах. Их устанавливает и обслуживает ЦОДД (Центр организации дорожного движения) и другие ведомства.
Но датчики есть лишь в крупных городах (на Москву примерно 7 тыс. устройств). К тому же автомобилистов с навигаторами куда больше.
Как навигатор анализирует данные других пользователей
Обработка данных от всех доступных источников всегда происходит на сервере. В приложении-клиенте (то, что видите вы на экране смартфона) лишь выдается готовый результат.
Если платформа видит, что на каком-то участке карты скорость автомобилей массово уменьшается, она пересчитывает загруженность дорог. Соответственно, перерисовывается карта с учетом интенсивности движения и пробок.
Сообщения об авариях, постах и тому подобном тоже анализируются. Когда один пользователь ставит отметку, другие участники, которые находятся неподалеку, могут её подтвердить или опровергнуть.

Таким образом, не получится заспамить карту ложными сообщениями. А когда последствия ДТП уберут с дороги, исчезнет и отметка о нем.
Обычно системы анализируют карты по кластерам: исследуют данные на небольших участках, а затем сопоставляют их с информацией от “соседей”. Это позволяет распределить нагрузку и обновлять карту чаще.
Треки автомобилей, которые едут по одному участку в одинаковом направлении, объединяются по совпадающим отрезкам. Скорости усредняются, и это дает понимание дорожной картины.
Важный момент: новые данные не полностью перекрывают старые. Просто у старых данных обычно меньший вес при принятии решения на сервере.
Именно поэтому машина, которая едет на “аварийке” со скоростью 10 км/ч, не заставит систему думать, что образовалась пробка. Но когда медленных машин станет больше, навигатор покажет затор.
Как навигатор понимает, в каком ряду вы едете и почему тормозите?

Средняя точность GPS – 6-8 метров, а в условиях плотной застройки ещё меньше. Так что приложение не может определить, в каком ряду вы едете. Но может подумать, что вы врезались в столб или прошли сквозь угол здания.
Если приложение будет строить ваш трек четко по полученным от вас координатам, получится что-то странное. Поэтому система аналитики навигатора сопоставляет ваши динамические данные со статической картой города и, учитывая знаки и разметку, оптимизирует ваш трек.
Навигатор понимает, что вы не могли выехать на тротуар или встречную полосу, а затем продолжить двигаться с прежней скоростью. Поэтому ваш путь на карте выглядит нормальным.
Кроме того, вы можете замедлиться перед въездом во двор или на парковку. Но приложение поймет это, проанализировав поведение водителей, которые едут рядом с вами, и не будет рисовать здесь пробку.
С другой стороны, если кто-то решил объехать пробку по обочине или по полосе для общественного транспорта, его скорость разбавит общую картину. И дорога, к примеру, может из красной стать желтой.
Отчасти погрешность GPS, ГЛОНАСС и других навигационных систем снижается за счет A-GPS и определения положения по вышкам мобильной связи и Wi-Fi. Но уже через несколько лет, с обновлением спутников и технологий позиционирования, проблема должна исчезнуть.
Как навигатор отличает водителей от пешеходов?

Действительно, если объект движется вдоль дороги со скоростью 5-6 км/ч, это может быть и не машина в пробке, а пешеход. Как отличить авто от пешехода?
Платформа на сервере анализирует скорость объекта в течение какого-то времени. Затем она сравнивает характер движения и находит признаки пешехода или автомобиля.
К примеру, пешеход вряд ли сможет идти быстрее 10 км/ч (это скорость вполне бодрого бега). А автомобиль со средней скоростью 10 км/ч будет двигаться в пробке неравномерно: часть времени стоять, часть – достаточно быстро подъезжать к впереди стоящему, а в отдельные моменты разгоняться до куда больших скоростей.
Почему это важно? Платформа должна отсеивать данные от пешеходов и показать реальную скорость движения авто в городе.
Как рассчитываются баллы пробок?

Чтобы водителю было проще ориентироваться в карте с учетом загруженности дорог, скорости на различных участках показывают цветом. К примеру, Яндекс.Навигатор берёт данные из сервиса Яндекс.Пробки. Это отдельный слой данных, интегрированный в общую систему Яндекс.Карт.
Включить этот слой можно кнопкой “Дорожная ситуация”. Если данных о пробках нет или они не нужны, слой просто не показывается.
В крупных городах пробки также отображают в баллах: 0 – пробок нет, 10 – пробки максимальные. Баллы означают следующее:
- 1: Дороги свободны;
- 2: Дороги почти свободны;
- 3-4: Местами затруднения;
- 5: Движение плотное;
- 6: Движение затрудненное;
- 7: Серьезные пробки;
- 8: Многокилометровые пробки;
- 9: Город стоит;
- 10: Пешком быстрее.
Навигационная платформа рассчитывает, за сколько водители в среднем проезжают определенные участки по пустой дороге. Это время считается эталонным и пересчитывается, в общем-то, редко.
Затем эталонные значения сравнивают с фактическими. Полученные значения проецируют на шкалу пробок для конкретного города.
Для каждого города при расчете баллов используются свои коэффициенты. Например, если в Москве вы потратите на дорогу вдвое больше времени, чем если бы ехали ночью по пустому шоссе, это пять баллов.
В Санкт-Петербурге аналогичные заторы оценят в 6-7 баллов, ведь здесь максимальные пробки меньше.
Навигаторы становятся умнее с каждым днём
Навигационные платформы накапливают данные, чтобы точнее рассчитывать время в пути по определенному маршруту. Эти данные помогают предсказать, где вскоре образуется пробка, и объехать её.
Применяются и технологии искусственного интеллекта. Они позволяют связать, казалось бы, несвязанные события – настоящее машинное обучение на той самой «биг дате». К примеру, если система постоянно будет видеть, что пробка на одном перекрестке приводит к разгрузке определенных маршрутов, она заранее поведет вас по ним.
На той же Яндекс.Карте есть режим “Дорожная ситуация”. По нему можно посмотреть прогноз пробок в определенный день и время. Это поможет спланировать свой день и не терять слишком много времени на дорогу.
Конечно, внезапные ДТП и заторы из-за отключившихся светофоров могут нарушить все планы. Но в целом прогнозы Яндекс.Пробок и Google Maps работают довольно точно.
Почему уровни пробок в разных сервисах отличаются?

Прежде всего, что для одного сервиса – зеленый уровень пробок, для другого желтый. Нет единых стандартов.
Кроме того, чем больше пользователей у навигатора, тем больше данных получает платформа и тем точнее картина. Если одним навигатором пользуются 10 водителей в потоке, а другим – один, причем едет он с минимальной скоростью, то сами понимаете, где данные будут объективнее.
Наконец, для обработки и передачи данных даже в одной навигационной платформе используется множество серверов. В результате вы можете параллельно открыть две вкладки с пробками в браузере, и даже они будут отличаться. Так происходит потому, что данные поступают с разных серверов.
А почему до сих пор можно попасть в пробку, которой нет на карте?
Сбор и анализ данных занимает время. Старые данные влияют на свежие. Сегодня не существует единственно верного способа, который бы позволил навигационной системе показывать загрузку дорог действительно в режиме реального времени.
Карты всегда обновляются с небольшим опозданием – от 1-2 до 5-10 минут. Поэтому именно вы, попав в пробку, можете первым передать данные навигационной платформе. Она накопит некоторое количество подобных сообщений и покажет пробку всем.