Как Waze определяет инструкции на перекрестках


Все ниже сказанное относится к поворотам направо в странах с правосторонним движением, для поворотов налево все строго симметрично. Инструкция «продолжайте движение» не отображается клиентом, но показывается с помощью Livemap Navigation Browser Addon

Определения

  1. s-in — участок дороги перед перекрестком (с точки зрения проезжающего)
  2. s-out — участок дороги после перекрестка (с точки зрения проезжающего)
  3. s1,s2,…sN — все участки дорог примыкающие к перекрестку
  4. «естественное продолжение» — участок дороги после перекрестка, для которого при подъезде со стороны s-in естественно считать, что направление движения не меняется.

Для того, что бы определить, является ли s-out «естественным продолжением» s-in, проверяются следующие условия:

  • если s-out имеет такой же тип дороги и название как и s-in он выбирается «естественным продолжением»
  • в ином случае рассматриваются s1, s2,.., sN (за исключением s-in и s-out). Один из них выбирается более естественным, чем s-out, при выполнении следующих условий:
    • этот участок дороги лучше соотносится с s-in, чем s-out (имеет то же название, что s-in, а s-out — нет,  имеет тот же тип дороги, что s-in, а s-out — нет, при этом имя дороги имеет приоритет над типом)
    • угол между этим участком и s-in меньше, чем угол между s-in и s-out

Алгоритм

Алгоритм выбора инструкций проходит последовательно по списку условий, и как только условие выполняется, происходит выбор инструкции и алгоритм прекращает свое действие.

  1. Если у перекрестка только 2 участка:  инструкция — «продолжайте движение»
    При определенных условиях Т-перекресток может быть рассмотрен, как перекресток только с двумя участками (см. ниже)
  2. Если угол между естественным продолжением и s-out больше 45 градусов (и меньше 180) инструкция — «поверните направо»
    В предположении, что на хайвеях углы между участками меньше 45 градусов
  3. Если s-out считается естественным продолжением s-in, то инструкция — «продолжайте движение»
  4. Если s-in хайвей, а s-out — нет, то инструкция — «съезд справа»
  5. Если s-in рампа, а s-out ни хайвей, ни рампа, то инструкция — «съезд справа»
  6. Во всех остальных случаях инструкция — «держитесь правее»

Т-перекрести и дороги с односторонним движением

В некоторых случаях перекресток создан более чем двумя участками дорог, но маршрутный сервер рассматривает только два из них при конкретном пересечении перекрестка и поэтому инструкция будет «продолжайте движение».

В следующем примере перекресток залочен (все подходящие к нему участки дороги имеют статус «locked») и при движении с севера единственно возможный поворот направо будет считаться «естественным продолжением», а значит, инструкция будет «продолжайте движение».

Как этим пользоваться

Вот конкретный перекресток трех улиц (с севера подходит улица Воровского, на северо-запад уходит улица Тургенева и на юго-восток  — улица Хмельницкого):

Воровского-Тургенева — главная, Хмельницкого — второстепенная. Когда я ехал через этот перекресток в первый раз, моим штурманом был человек, который ни слова не сказал, что и как дальше, но по знакам и разметке было вполне естественно сделать поворот с Тургенева на Воровского, как-будто этого перекрестка не было вообще. Года через три, там же, уже успев все позабыть, я ехал с навигатором и он предложил мне повернуть направо. Я был несколько растерян, так как справа дорог вроде не было, но пару секунд хватило понять, какой маневр навигатор посчитал поворотом направо. И когда у меня у меня появились права на этот участок дороги, я так и нарисовал:

В таком виде, при движении с Воровского на Тургенева будет сформирована подсказка «поверните направо», так как однозначного «естественного продолжения» нет — углы между Воровского и Хмельницкого и между Воровского и Тургенева практически одинаковы.

А когда таки проехал с Вейзом по этому маршруту, опять на пару секунд задумался:  «где же здесь справа?».  И в результате перерисовал:

Теперь подсказка — «продолжайте движение» (т.е. отсутствие таковой в клиенте), так как есть «естественное продолжение» — в данном случае, Воровского и Тургенева имеют одинаковый тип дороги, отличный от Хмельницкого и угол на перекрестке между Воровского и Тургенева практически отсутствует.

Понятно, что это пример как управлять подсказками, а не как правильно рисовать. Как правильно рисовать — понятие достаточно субъективное и в каждом конкретном случае требует своего подхода.

Как Waze определяет инструкции на перекрестках: 10 комментариев

  1. Ни разу не слышал в Waze подсказку «Продолжайте движение». О_О

    1. Почему? Звучит, но только на нормальных кольцах.
      А в этой статье понятие подсказки «продолжайте движение» значит тишину, т.е. нет ни «поверните направо», ни «возьмите правее», ни «съезд справа» вы не услышите, если перекресток будет нарисован определенным образом. Образ же перекрестка выбирается по ситуации, в идеале после разведки оного в живую.

      1. А, ну на кольцах возможно, значит просто не обращал внимания. =)

  2. Вопрос автору: а поворотник вы на данном перекрестке включаете?

    1. Нет, не включаю. И это тоже можно рассматривать, как аргумент в пользу того, что «естественное продолжение» выбрано таки правильно.

  3. Это скорее аргумент в пользу того, что вы рассматриваете понятие «поворот направо» как-то по-своему и слегка нарушаете ПДД. Как по мне, так это вполне себе логичный поворот направо с улицы Воровского на улицу Тургенева, так что это все довольно спорно.

  4. Во-первых, я уже отметил, что это пример того, как управлять подсказками, а не стремление доказать, что именно так этот перекресток и надо рисовать. А во-вторых, не видя конректных знаков и разметки на этом перекрестке Вы не можете утверждать, что я что-то нарушаю 🙂

  5. Кроме того, людям, которым надо проехать перекресток, казалось бы, прямо, с улицы Хмельницкого на улицу Тургенева, Waze будет говорить «поверните налево».

    1. Уважаемый, Павел.
      Если Вы хотите обсудить этот перекресток, пожалуйста, создайте ветку в форуме — с удовольствием пообщаюсь.
      Так же, с удовольствием, отвечу на любые вопросы по теме статьи здесь.

Комментарии запрещены.