Одна из самых удобных и полезных функций навигатора – показ пробок на дорогах. Даже если вы идеально знаете город, лучше него не сможете проложить оптимальный маршрут с учетом заторов.
Но у навигатора нет своих собственных глаз. Каким образом эти приложения понимают, где образовалась пробка?
Разбираемся, как это работает.
Откуда вообще навигатор берёт данные о пробках?
Есть два типа данных, которые работают в совокупности и помогают картографическим сервисам понять, где образовывается дорожный затор.
Для начала, у навигатора на сервере есть база знаний: информация о дорогах на карте, скоростных ограничениях и правилах проезда, дорожных знаках, 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 минут. Поэтому именно вы, попав в пробку, можете первым передать данные навигационной платформе. Она накопит некоторое количество подобных сообщений и покажет пробку всем.
10 комментариев
Форум →Яндекс предоставляет не точный трафик, большая погрешность. Напомню кто забыл, навигатор на коммерческой основе, то есть такси использует навигатор на общих условиях. Проще говоря навигатор не понимает различие, быстрый поток по выделенной полосе (такси) и затор основной ход. Вы получите средний трафик, фактически ложный если говорить про крупный город где развита инфраструктура. Более точный трафик от Google, любое сторонние приложение имеет безлимитный доступ к навигатору. Кроме того Google собирает данные GPS независимо от того используется навигатор или смартфон просто лежит в кармане. Сотрудничают с провайдером inrix, дорожный трафик по всему миру. Второй источник по точности Here maps, собирают трафик не только с приложения но и с автомобилей, те что входят в немецкий консорциум.
Стоило бы добавить в статью, что первые данные трафика в России предоставил Геоцентр Консалтинг. Предоставили картографические услуги для google, garmin, яндекс, и тд.
Автор статьи видимо не в курсе, что при установки приложения Яндекс навигатор по умолчанию установлена галочка на согласие предоставления данных с вашего устройства.
@V83, я что-то не найду в актуальных версиях Я.Навигатора и Я.Карт для iPhone, где находится настройка предоставления данных с моего устройства. Она была, это точно.
Вот на самом деле при всем удобстве Яндекса я не очень понимаю, почему нельзя сделать некую динамическую модель пробок, которая учитывала бы статистику по трафику.
Поясню на примере. В 18:00 я выхожу с работы, сажусь в машину и строю маршрут. Он показывает 30 минут в пути, допустим. Но уже спустя пять минут, когда я проехал некоторое расстояние, целый город таких же умников как я, вышел с работы, сел в свои ведра и поехал по домам. И мой маршрут превращается из 30 минут в ад и израиль. Так вот почему в 18:00 Яндекс не может мне сообщить, что через полкилометра пути в 18:05 на дороге будет дичь, и сразу мне сказать, что ехать мне ни разу не полчаса? Он же знает, у него же статистика есть.
@ur.senohpi, гугл карты уже показывают будущие заторы на дорогах. Например, купленный билет на самолет лежит где то на гугловской почте, приходит уведомление что сейчас ехать до аэропорта час, если выходить через 15 минут, то ехать уже более часа. Ну и в целом если строить маршрут, то в отдельном меню с информацией по маршруту тоже пишет когда будут основные пробки на маршруте.
@Grinchara, Это похвально, но к сожалению, гугл-карты до сих пор не в курсе, что у моего дома 2006 (!) года постройки есть, например, хотя бы один заезд во двор :)) поэтому с этими картами сложновато приходится, особенно в незнакомых локациях.
@ur.senohpi, не знаю какие у вас сложности с яндексом, но показывать статистику и данные о пробках он может на любой день и указанное время.
Большинство людей среди моего круга общения уверенны, что время он вообще идеально подсказывает, особенно на дальних маршрутах, как будто бы знает что ты остановишься заправится, или отлить, знает сколько раз, ибо в итоге время прибытия совпадает с указанным в самом начале с точностью до 5 минут.
А по пробкам – да, он может показывать пробку с задержкой, минут в 20 примерно. То есть можно уже приехать, а пробки и нет или не в том месте. Но конечное время – считает прекрасно.
@ur.senohpi, дохрена хотите от шараги локальной
Вот это реально киберпанк наступил: очень крутая технология из будущего!
А комментаторы будут все равно придираться )
Представляю коменты в будущем “у меня мыслеуправление Сири опять не сработало, пришлось два раза повторить, при Джобсе такого не было!”
Сабж одной фразой”Точные данные никто не раскрывает, ведь это основы алгоритмов, и их хранят в секрете”
А еще можно подумать на тему того, что Яндекс навигатор- не равно самый быстрый маршрут, хотя бы потому, что десятки тысяч Яндекс такси и каршеринга Яндекс драйв пользуются Яндекс навигатором и этот секретный алгоритм может не плохо генерировать прибыль, даже если прибавит 5 минуточек каждому :)
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Почему крестик на закрывает приложение на Mac, а только прячет его в Док
Как перейти на публичную бета-версию iOS 11 вместо закрытой
Как превратить свой айфон в iPhone 14 Pro. Оцените новый вырез для камеры на своем устройстве
Как поставить рейтинг песням в iOS 10 в приложении Музыка?
Зачем iPhone с Touch ID иногда спрашивает код разблокировки
Как отслеживать качество сна на Apple Watch
Как в iOS отключить передачу вашего телефона касанием двух iPhone
Можно ли убрать царапины с рамки iPhone