воскресенье, 14 мая 2017 г.

Редакторский квест

Для определения навыков редактирования и наблюдательности.


Предлагаем пройти небольшой тест по нахождению ошибок, заложенных в “нарисованном кусочке карты WME”.




В данном примере сделано 24 ошибки (вероятно можно найти и больше :) )
  • 5 из них  можно считать критическими, поскольку они касаются целостности дорожного графа.
  • 9 ошибок по оформлению дорожного графа и подсказкам.
  • 7 стилистических ошибок - соблюдение существующих соглашений по сокращениям, непрерывности имен, уровню блокировки дорог итд.
Три ошибки в довершение не в ряду прочих (скрипты).

Сколько нашли вы?

Всем удачи на дорогах с Waze!

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

вторник, 15 ноября 2016 г.

Оптимизация маршрутов в Waze.

Сегодня коснемся вопросов on-line  оптимизации маршрутов вейз в том числе некоторых недокументированных возможностей программы.
Вспомним механизм прокладки маршрутов с учетом типов дорог и длины маршрута:


Для маршрутов до 15 километров используются все транзитные типы: Дорога/Street - далее "Стрит", Важная дорога/Primary Street - далее "Праймари", Магистраль/Minor Higway - далее "Минор", Важная магистраль/Major Higway - далее "Мажор" и Автострада/Freeway - далее "Фривей". Для более длинных маршрутов происходит последовательное накладывание пенальти на низшие типы дорог, начиная со стритов, праймари и до миноров. Таким образом, из маршрутов длиной в 15-30 км. из-за пенальти исключаются стриты. В 30-160км. - добавляются пенальти на праймари и после 160-ти - на миноры, что затрудняет их использование в дальней навигации.

После 160-ти километров включается механизм дальней навигации с использованием высших типов дорог - мажоров и фривеев. Это не означает, что другие дороги исчезают из расчета, но они используются только или при отсутствии высших типов, либо как путь до них. То есть, если на вашем маршруте в округе есть мажор, то алгоритм поведет до него любыми возможными способами и потом уже для целей навигации будут использоваться высшие типы в соответствии с вышеприведенной схемой.

Приведем пример - маршрут  Иваново-Москва:



Маршрут больше 160-ти километров и построен с использованием мажоров и фривеев.
Теперь посмотрим частные моменты маршрута: обход Гаврилов Яма построен по мажору.

Через город идет минор. На маршруте в 160+ километров она предсказуемо игнорируется.
Похожая ситуация наблюдается на маршруте в районе Переславля-Залесского:


Теперь посмотрим - что будет с маршрутом, если проложить его не от начального пункта, а непосредственно перед этими городами:

Гаврилов Ям:
Переславль-Залесский:


Посмотрим подробнее на последний пример.

Здесь видна разница между синим и красным маршрутами  в 8,12 км и 2 минуты.
Почему же вейз в одном случае строит маршрут в обход, а в другом - через город?

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

Здесь же отметим, что  маршрут через город был бы предложен, если бы альтернатива экономила не менее 10% оставшегося времени и не меньше чем 4е минуты. Это, так называемое, “правило спящих миноров”. В процессе следования по маршруту возможно “нахождения” более выгодных путей при соблюдении вышеозначенных условий. В тоже время, перестроение маршрута вручную, даст реальную картину альтернатив.
Этот механизм навигации вейз можно и нужно учитывать в повседневных поездках. Конечно это особенно касается длинных (более 160 км.) дистанций.

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

Представляется, что механизм “спящих миноров” является некоторым связующим звеном между этими двумя типами навигации: маршрут строится сначала в первом приближении (и нужно следить, чтобы это “приближение” было адекватным  через присвоение нужным трассам высших типов дорог). Однако в движении вейз своими алгоритмами постоянно отслеживает “местные” трассы и при необходимости предлагает новый - “лучший” маршрут. И уже от вейзера зависит полагаться на встроенный механизм, или при необходимости, “принимать управление на себя”-  прокладывая маршрут заново.


Еще момент - процесс актуализации данных (через каждые 8 минут) для пересчета маршрута происходит только в случае выбора маршрута “по умолчанию”. Если же был выбран какой-нибудь альтернативный вариант маршрута, то он останется без изменений до своего завершения. Только в случае съезда с маршрута или опять же - ручной перестройки возобновится периодическое отслеживание онлайн данных для целей оптимальной маршрутизации.


Всем удачи на дорогах с Waze!


понедельник, 31 октября 2016 г.

Оформление адресов POI в Waze


Для целей навигации вейз использует как собственную базу точек интереса (POI), так и гугловскую. Поэтому есть две возåможности нанести несуществующий объект:
  • добавить POI или адресный пин на google картах;
  • добавить POI в редакторе Waze.


Первый случай уже описан в статье Waze: добавление адресного пина через Google. Можно рассматривать этот пример как универсальный - наносятся адреса любого формата (литеры, корпуса), адрес участвует в автопоиске и становится доступным как для waze, так и в google навигации. В предельном варианте больше делать ничего не нужно - адрес будет “работать”.

photo_2016-09-28_17-05-54.jpg
При отсутствии видимых объектов на карте waze  - найденный адрес приводит в нужное нам место.


В ситуации, когда нужно скорректировать финиш адресного пина из гугла - в WME создается так называемая ПТ (privat point, точка финиша). Имея тот же адрес с гуглом, она будет корректировать точку финиша при навигации к ней.


То есть если мы хотим получить точку финиша отличную от того, куда ведет гугл (в некоторых границах), мы создаем ПТ и привязываем ее к нужному нам сегменту




В данном случае очень полезен скрипт WME Closest Segment - показывая сегмент финиша ПТ (как и любого выделенного POI).


При дублировании адресов гугла и POI вейз, можно сделать так называемую, линковку (соединение) этих адресов - для того, чтобы убрать дубли из поиска. Это действие в настоящее время возможно сделать только редакторам 5+ уровня.


Второй случай - создание POI waze в редакторе (без оглядки на google).


Для создания более привычной карты с “домиками” можно воспользоваться инструментом создания POI в редакторе вейз. Для этого создаем нужный нам контур объекта - при этом желательно делать его максимально простым (четырехугольник), чтобы в клиенте он выглядел достойно и не превращался в из-за алгоритмов оптимизации изображения в кракозябру.
Рассмотрим вариант с жилым домом:


Выбираем Другое/Контур здания - полигон и “обводим” наш дом.



В свойствах POI заполняем нужные нам поля:

В данном случае - номер дома 40. Поэтому просто вписываем его в название. В адресе вводим нужные нам данные - номер дома - 40, улица Пушкина (из выпадающего меню), Юрьевец.


Если  ситуация с адресом более сложная и номер дома имеет формат, например ”40 корпус 1”, то в таком случае, пишем в название: “40к1”, а в альтернативу - “Пушкина 40 корпус 1”. В данных “адрес” не пишем номер дома:

В случае со “строениями” - меняем “корпус” на нужное нам. Если в адресе не улица, а, предположим, проспект - в альтернативе пишем “проспект Пушкина 13 корпус 1”


Для чего все это нужно?


В поиске waze будут участвовать:
  • имя POI
  • Альтернативное имя POI
  • Улица
  • Город
  • Страна


Итак, мы делаем контуры домов для того, чтобы:
  1. Чтобы номерки были на карте (как у Яндекс карт).
  2. Чтобы эти номерки были доступны в автопоиске и во вкладке Places.


Можно отметить, что если просто выбрать результат поиска вейз в автопоиске, то в историю поиска это POI  попадет без адреса, поэтому рекомендуется жать “Найти” при поиске адреса для навигации.


Раньше используемый  инструмент “номера домов” (ХН, House numbers) в настоящее время потерял актуальность и не рекомендуются к использованию (в том числе по причине туманных перспектив применения данного способа нанесения адресов на карту).

Для более детального изучения изложенных выше сведений, рекомендую обратиться к документу  Waze. Тестовая лаборатория MacVit

"Маруся" от Waze в городе и на трассе


Для навигации waze очень важны голосовые подсказки - они формируют некоторую ауру комфортности при управлении автомобилем. Чем точнее подсказки - тем более удобно следовать маршруту, тем меньше нужно отрываться от дороги и смотреть на экран смартфона.
О значках звуковых подсказок в WME уже было сказано в статье Голосовые подсказки Waze. Здесь отметим несколько правил, следование которым будет полезным для клиента waze.:

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

Скрин ниже показывает вполне понятный поворот - главная дорога явно уходит налево. Так и было нарисовано первоначально - без подсказок. Однако маневр есть и “руль крутить” приходится. Для водителя, впервые оказавшегося на этой улице будет совсем не лишним упоминание о маневре. К тому же, если после этого поворота будет на маршруте поворот направо, то подсказка может ввести в заблуждение - “поверните направо через … метров” при том, что в действительности дорога поворачивает налево.


Поэтому лучше поставить подсказку “поверните налево” в данном случае.

  1. Подсказку нужно делать с учетом обстоятельств местности.

Например - развороты на трассе обычно оформляем следующим образом:






Тишина при движении прямо и “развернитесь” при движении на разворот. Однако, если маневр не однозначный, то лучше сделать подсказку по ситуации:


Здесь будет подсказка как на разворот, так и при движении прямо.
Главное правило - редактор должен представить себя на месте водителя и подумать - чтобы он хотел услышать в конкретной ситуации

  1. Различать типы подсказок для города и трассы.

Если для трассы съезд-заезд можно и нужно озвучивать - как правило дублируются названия дорожных указателей. Смысл - в озвучке общего направления движения:


Если же развязка расположена в городе - то при ежедневном движении вейзера с одной улицы на другую при следовании по маршруту “Дом - Работа” озвучка дальних целей будет не уместна. То есть пишем подсказки для дальней навигации в случае выезда из черты города.



Еще пример - круговое движение.
В городе - кольцом мы “обрезаем” улицы и получаем адекватные подсказки - номер съезда и название улицы:



На трассе при наличии у нее имени можно пользоваться таким же правилом:


В таком случае, имеем при движении прямо по А107 малоинформативную подсказку - по сути тафталогию:  “на кольце второй съезд на А107”. Однако движение на трассе можно озвучить в соответствии со знаками и получить более информативные подсказки.

Гораздо полезнее услышать не просто номер съезда, а название населенного пункта по своему маршруту, например: “на кольце второй съезд на Софрино”. Имя трассы не меняется и отображается на экране клиента. Дублирование же указателя даст бОльшую уверенность в правильности маневров.

Для получения подсказок нарезаем у круга нужное количество сегментов для подсказок.




Например, прописываем имя - “Софрино” и в альтернативу - имя трассы “А107”, чтобы не было разрывов в именовании трассы.

Наконец,  специально отметим замечательный инструмент WME Make EntryExit, с помощью которого можно не только организовать “подсказочный конвеер” во дворах, парковках и на АЗС, но и свободно “нарезать” 6-ти метровые участки в нужных местах сегмента для подсказок.


В нашем случае - выделяем сегмент, выставляем нужное нам окончание сегмента - “АВ” или “ВА” и нажимаем на значок автомагистрали. Затем прописываем в полученный сегмент нужное имя и подсказка готова. На карте она отображаться не будет, но будет участвовать в поиске и в озвучке маршрутов.


Всем удачи на дорогах с Waze!

вторник, 7 июня 2016 г.

Голосовые подсказки Waze


Waze имеет уникальную функцию озвучивания названий улиц. Это вкупе с установкой нужных углов присоединения сегментов друг к другу дает редактору широчайшие возможности по формированию нужных подсказок. Можно сделать озвучку любого маневра “под себя”. Вообще - при редактировании нужно ставить себя на место водителя и представить - “как бы я ехал сам, что я бы хотел услышать в том или ином случае.”
Для эффективной простановки подсказок нужно установить расширение для Chrome- WME-JunctionAngle. Замечательный инструмент, позволяющий контролировать подсказки даже при не сохраненных изменениях в редакторе.

WME-JunctionAngle позволяет не перегружать материал цифрами углов для характеристики того или иного типа подсказки, а просто запомнить цвета (цвет можно настроить самостоятельно).

Подсказки могут быть трех видов:

  • поверните (зеленый маркер)
Белый цвет - отсутствие подсказки. Маневр озвучиваться не будет.

  • держитесь (желтый маркер)
Как разновидность подсказки “держитесь”  при определенных типах дорог, Waze использует подсказку “съезд” (синий маркер)
Серый кружок - показывает угол запрещенного поворота и, соответственно, отсутствующую подсказку для него.

  • развернитесь
Подсказка озвучивается или автоматически при проставлении штатного разворота Waze
Либо при соединении сегментов под 169+ градусов (фиолетовый маркер).
Можно отметить “пограничные” значения углов, например угол в 45 градусов (желтый маркер)
Такие углы нужно исправлять на правильные значения.


среда, 4 мая 2016 г.

Редактор Waze 4+


В конце статьи "Этапы редактирования Waze" были затронуты вопросы навыков редакторов 4+ уровня. Интересно посмотреть на примере одной небольшой развязки применение этих техник, а именно подсказок, имен, альтернативных имен и нестандартных приемов.


Наша развязка:



Элементарные разрешения проставлены, запреты - тоже. Смотрим имена:
При движении справа-налево и вниз по карте у нас есть сегменты без имен



Это будет означать для сервера “дыру” или разрыв в имени и может привести к проблемам на маршруте.
Подсказок на маршруте нет - маневры будут озвучиваться только как “поверните” или “держитесь”, кроме некоторых, где будет звучать “Р73”.


На скрине ниже показана развилка вообще без подсказки - белый маркер скрипта:



В реальности неплохо было бы иметь подсказку “держитесь правее”. В случае, когда нет других вариантов движения, Waze не будет давать подсказок, однако это не всегда правильно с точки зрения водителя.


Попробуем исправить найденные недочеты.


Делаем непрерывность в именовании трассы Р73 на всем протяжении выделенного маршрута. Это же относится и к движению по кругу.





Делаем подсказку “держитесь” на развилке:



Нужно отметить, что метод применим не везде и является "костылем", то есть не официальным приемом. Редактор должен хорошо подумать, прежде чем использовать нестандартные методы редактирования.
В данном случае можно обойтись и без использования "рогатки" с использованием б'ольшего угла до уровня зеленого маркера.




Однако в данном случае хочется услышать именно держитесь, что и было сделано.


Проставляем озвучку подсказок при движении по этому перекрестку:


Вверх дорога идет на Гусь-Хрустальный, по кругу вниз - на Рязань. Нам нужно, чтобы подсказка при движении вверх была “держитесь правее на Гусь-Хрустальный”, а при движении по кругу вниз - “держитесь правее на Рязань”. Как этого достичь, если поворот у нас один? Очень просто - разнести подсказки по сегментам:




Даем имена выделенным сегментам вверх “на Гусь-Хрустальный” и влево для движения вниз “на Рязань”. При движении слева по выделенному сегменту получим подсказку “держитесь правее” + (имя), где (имя) - название подсказки по ходу движения. Для того, чтобы озвучивались именно эти подсказки нужно сделать безымянными все сегменты между первым и сегментом с подсказкой. В данном случае эти два сегмента:




Однако они не должны быть просто безымянными (тогда будет нарушена непрерывность имени мажора (важного шоссе) - у него не должно быть имени (которое идет в озвучку), но проставлена альтернатива - для неразрывности.



Таким образом мы пропишем и нужные нам подсказки и покажем серверу маршрутизации, что имя дороги не прерывается.

Надеемся, что этот пример будет полезным для начинающих редакторов Waze!