Компания
581,79
рейтинг
5 октября 2012 в 11:07

Разработка → Как устроен краткосрочный прогноз на Яндекс.Пробках

Информация о пробках появилась на Яндексе в 2006 году. Начинали мы с необходимого — научились строить схему загруженности городских улиц и учитывать текущую ситуацию при прокладывании маршрутов. Автомобилисты, ориентируясь перед выездом на эту информацию, уже могли сэкономить время в пути:
image

Затем, чтобы помогать водителям непосредственно во время движения, мы добавили в мобильные Яндекс.Карты (и, как следствие, в Яндекс.Навигатор) автоматическое перестроение маршрута. Приложения научились адаптировать маршрут при каждом заметном изменении ситуации в городе.

Собрав на десктопе и в мобильном информацию про «сейчас», мы перешли к решению вопроса «а как будет потом?»:
image

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

image

Неделю назад на Яндекс.Картах появилась возможность посмотреть изменения пробок в ближайший час — следующий наш шаг в решении вопроса про будущее. Для тех, кто в этом году не смог приехать на Yet another Conference, мы сегодня расскажем, что у нашего прогноза внутри, и как оно там оказалось.

Собственно, задача


Мы прогнозируем изменения средней скорости движения на разных участках дорог. Технически карта дорог — это граф. Каждый перекрёсток — вершина этого графа, а участки дороги между двумя перекрёстками — рёбра. У последних есть атрибут «длина» и атрибут «скорость». Длина, понятно, известна заранее, а скорость рассчитывается в реальном времени — в зависимости от неё участок дороги и раскрашивается в зелёный, жёлтый и красный. Собственно, второй атрибут мы и взялись предсказывать.

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

В мире прогнозы загруженности используются для автоматического управления дорожным движением в некоторых городах. Первые прототипы, в которых были применены прогнозы, появились появились в 1998 году в США. А первое пилотное использование системы, «заглядывающей в будущее», началось в 2006 году в Сингапуре.

Мы впервые затронули прогнозирование в конкурсе Интернет-математика в 2010 году. Тот опыт помог нам понять, как должна ставиться задача и какие данные нужны для достижения хорошего результата.

Источник данных


Во многих странах используются стационарные датчики потока, которые измеряют скорость и плотность движения на ключевых автомагистралях. Это хороший источник чистых данных о загруженности дорог, но покрытие ими даже одной Москвы потребовало бы гигантских вложений. Мы же вполне обошлись обезличенными GPS-треками, которые поступают от пользователей мобильных Карт и Навигатора. Каждый трек — это цепочка сигналов о местоположении (широта и долгота) автомобиля в конкретное время. Мы привязываем GPS-треки к дорожному графу, то есть определяем, по каким улицам они проходили. Затем усредняем скорость всех треков, проходящих по одним и тем же рёбрам.

У этих данных есть ряд особенностей, которые осложняют получение качественного прогноза. Потребительские GPS-устройства определяют координаты с погрешностью, поэтому треки очень «шумные». Это усложняет не только расчёт средних скоростей, но и привязку треков к графу, например когда дороги проходят близко друг к другу:
image

К тому же иногда на некоторых улицах мало автомобилей, передающих данные. Да и сама ситуация на дорогах не всегда устойчива. Например, полосы магистралей движутся с разными скоростями, поэтому на одном и том же участке треки могут одновременно показывать существенно разную скорость.

Выбор метода


В этой области используется большое разнообразие методов. Среди них:

Параметрическая регрессионная модель. В ней заранее предполагается конкретный вид функции в зависимости Vбудущая=F(Vпрошлая, Vтекущая), и подбираются параметры в F. Особенность модели в том, что выбор функции накладывает ограничения на результат. С одной стороны, это ограждает от серьёзных ошибок, которые неизбежны при использовании шумных данных, — параметрическая функция позволяет уменьшить разброс предсказываемых значений. С другой стороны, при неверном выборе функции модель может давать систематически неправильные ответы.

Непараметрическая модель («k ближайших соседей»). Она просто ищет в прошлом ситуацию, похожую на текущую, и в качестве прогноза выдаёт, как события развивались дальше. Такая модель гибче — используя её, можно сказать: «Если 10 раз после затишья возникала буря, то и после нового затишья тоже будет буря». Если же, например, взять линейную функцию в параметрической модели, мы не сможем предсказать такое, так как ограничены гипотезой, что будущее может быть только линейной комбинацией прошлого. Однако на «шумных» данных линейная модель обеспечивает большую точность, чем непараметрическая.

Другая классификация регрессионных методов — на скалярные и векторные. В первых предполагается, что ситуация на выбранном участке не зависит от происходящего на соседних, во вторых, наоборот, зависимости учитываются. Отсюда и разница в объёме вычислений. Если в городе 10 тысяч участков дорог, то для построения скалярной модели достаточно подобрать 10 тысяч параметров. А для векторной модели может понадобиться до 100 миллионов параметров. В нашем случае очевидно, что ситуации на разных участках влияют друг на друга. И ключевым становится вопрос, как ограничить круг соседей, чтобы расчёт уложился в разумное время.

Методы моделирования потоков учитывают природу процесса, а не просто оперируют абстрактными числами. Используется уравнение текущей жидкости с переменной вязкостью: больше плотность — меньше скорость. Методы широко применяются для планирования дорог и перспективны для прогнозов, но слишком требовательны к точности и полноте данных. Они дают хорошее качество на потоковых датчиках, но почти не работают на «шумных» GPS-треках.

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

Что и как рассчитывается


Раз в сутки наша модель обучается. На основе развития событий за какой-то временной промежуток в прошлом она строит прогноз. Этот прогноз сравнивается с последующим развитием событий. В модели подбираются коэффициенты, чтобы минимизировать расхождение между прогнозом и тем, как на самом деле всё оказывалось. Для каждого времени суток система рассчитывает свои коэффициенты, поскольку характер движения в течение дня немного меняется. Каждые несколько минут по готовой модели и свежим трекам расчитывается прогноз на ближайший час.

При обучении модели используется огромный объём данных. Граф дорог занимает около 100 гигабайт: это информация о топологии — какое ребро с каким связано, а также геометрии — GPS-координаты начала, конца и точек изгиба каждого сегмента дороги. История треков, которую мы храним, занимает десятки терабайт. На таких объёмах подбор коэффициентов на сутки растянулся бы на одном сервере на 2 недели. Чтобы уложиться в приемлемые несколько часов, мы используем кластер из 30 серверов. Но в нашей задаче нельзя просто разделить входные данные поровну между серверами, предоставить каждому серверу полный цикл расчёта по своей части, и собрать уже конечные результаты. Помогает наша платформа распределённых вычислений. Она берёт на себя сбор и перераспределение промежуточных результатов, она же автоматически передаёт задачи от вышедших из строя серверов работающим и сильно упрощает масштабирование при росте объёмов вычислений.

Но даже при распараллеливании такие объёмы, конечно, не поместятся в оперативную память. Поэтому мы используем собственную библиотеку Memory Mapped Storage, которая позволяет приложению работать с данными на диске, как если бы они хранились в оперативной памяти.

Обычно мы дублируем любую обработку данных между несколькими дата-центрами (ДЦ), чтобы сбой в любом из них не привёл к недоступности сервиса для пользователя. Но при подготовке модели мы сознательно не стали этого делать. Качество прогноза практически не пострадает, если несколько часов использовать вчерашнюю модель. А вот сам прогноз должен всегда быть свежим — ситуация на дороге постоянно меняется. Поэтому он готовится с тройным дублированием вычислений в разных ДЦ, полностью автономно друг от друга. Даже если произойдёт сбой одновременно в двух ДЦ, пользователь этого не заметит. Результаты расчёта разных реплик не синхронизируются между собой, на каждый запрос просто берётся самый свежий из трёх прогнозов.

Новый прогноз рассчитывается каждые 10 минут. Сначала обрабатываются свежие треки от пользователей: происходит их привязка к графу, усреднение скорости проехавших по одному сегменту автомобилей, вычисляется прогноз по построенной на текущие сутки модели. На это уходит 1–2 минуты. Затем эти данные подготавливаются к отрисовке на карте пробок. Сглаживаются резкие перепады скорости; выбирается цвет для каждой скорости с учётом категории дорог и масштаба просмотра карты. Это занимает ещё 2 минуты.

Оценка качества


Достоверное измерение качества прогноза — само по себе интересная задача. Изучив несколько методик, мы выбрали следующую.

Метрика качества должна отражать, насколько прогноз помогает людям. В отсутствие прогноза, пытаясь предугадать скорость движения по какой-то дороге через час, мы вынуждены пользоваться текущей информацией о пробках. Ясно, что за час пробки поменяются и наша оценка окажется неверной. Оценка, полученная с помощью прогноза тоже не идеальна, но она должна быть ближе к реальности. Насколько ближе — это мы и постараемся измерить.
image

Отметим, что можно брать разные приближения фактической ситуации. Самое простое — опираться на пользовательские треки. Так мы получили оценку 15%.

Однако у самих этих данных могут существовать систематические отклонения. Тогда наша метрика качества будет отдавать предпочтение прогнозу, прилежно воспроизводящему эти отклонения. Чтобы этого избежать, мы воспользовались замерами асессоров — специальных людей, помогающих измерять качество сервиса. Они выезжали на автомобилях с высокоточными GPS-устройствами на наиболее показательные магистрали, и привозили треки. Сопоставив прогноз с треками асессоров, мы получили другую оценку качества — 12%.


Рекомендуемая литература


Всем серьёзно интересующимся темой анализа данных можно порекомендовать классический учебник The Elements of Statistical Learning (Hastie, T., Tibshirani, R., Friedman, J. — Springer. В нем можно найти более подробную информацию о всех применявшихся в нашем исследовании методах машинного обучения.

Большое количество материалов на русском языке есть на сайте MachineLearning.ru.

Хорошим введением в проблематику транспортного моделирования будет учебное пособие под редакцией А.В. Гасникова «Введение в математическое моделирование транспортных потоков».

Специалистам будут интересны результаты зарубежных научных коллективов, занимающихся тематикой прогнозирования дорожной ситуации. Из множества доступных публикаций нам бы хотелось выделить несколько:
Автор: @yurkennis
Яндекс
рейтинг 581,79

Комментарии (129)

  • +12
    Вы молодцы, ещё бы светофоры подключить к Yandex.пробкам. И автоматически наказывать водителей, передвигающихся как олени.
    • +5
      Например отключать у них яндекс.пробки?
      • НЛО прилетело и опубликовало эту надпись здесь
      • +2
        Хороших водителей навигатор ведет на пустые улицы, оленей — в конкретную жопу.
        • –2
          «Я всегода буду делать релоад перед написанием комментария» Х 100
        • +5
          Как докажешь что ты не олень?
      • 0
        А это интересно, самое интересно как выявлять таких ребят?
    • 0
      Поясните свою мысль, в каком смысле подключить светофоры к пробкам?
      • 0
        Наверное что бы светофор анализировал состояние дороги, которой он управляет и регулировал время зеленого цвета на самых критичных направлениях.
        • +3
          Этим уже занимается правительство. Они делают светофоры, которые следят за потоком.
        • 0
          Кое-какие наработки уже есть:
          habrahabr.ru/company/yandex/blog/126819/
          Но чтобы такое делать нужно еще желаение местной администрации.
          • 0
            Спасибо за ссылку. Правда, этот пост я читал.
  • +6
    Очень интересно. Спасибо за статью. Пожалуйста, пишите еще.
    Лично мне хотелось бы почитать про графы-дорог, про привязку GPS данных от пользователей к координатам, про данные из туннелей (где gps не ловит), и данные на многоуровневых развязках.
    • +1
      С тоннелями все просто: они не требуют специальной обработки. Машина в него въехала, потом выехала. Мы знаем длину тоннеля и время его проезда. отсутсвие сигналов из тоннеля обрабатывается также, как просто редкие сигналы.
      Данные на многоуровневых развязках — надо привязываться не к ближайшему ребру, а учитывать соседние сигналы. Машина съедет с развязки и будет понятно, по какой эстакаде она ехала.
  • +23
    Уважаемые разработчики, сделайте пожалуйста контроль снятия пометок о наличии радара.
    Доблестные сотрудники ГИБДД наловчились снимать только что поставленные точки со своих сматфонов.
    Как мне кажется, сообщения о снятии точки нужно принимать только от реально передвигающегося клиента (причем проехавшего через точку), а не от клиента, который стоит на месте или вообще не проезжал мимо точки.
    • +1
      Всеми руками «за»!
    • +4
      Текущий алгоритм не позволяет голововать за точки часто и много.
      Но вашу идею проверим по статистике и подумаем, что можно сделать. Спасибо!
      • 0
        Прибежали «сотрудники ГИБДД» и заминусили карму за моё предложение. :)
        Но это было не всё, что я хотел бы предложить касательно сервиса Яндекс пробок, и в частности точек с радарами. На мой взгляд (как пользователя сервиса) около значка радара было бы не плохо видеть цифру (минуты или часы с момента установки точки). Так-же при установке точки во время движения необходимо отключить возможность добавления комментария (набирать комментарий во время движения не безопасно!). Вместо комментария хочется видеть две кнопки, с помощью которых можно указать направление, в котором ловят на радар.
        • 0
          Время с момента установки точки — не единственный и не всегда решающий индикатор её достоверности. Какой-нибудь шутник может поставить точку прямо сейчас и она будет ложной, а точка по делу может висеть несколько часов. Поэтому правильный подход: совершенствовать алгоритм удаления ложных точек и продления жизни настоящим. Чтобы сам факт наличия точки на карте говорил о том, что с большой вероятностью здесь действительно камера. Этим путём мы и идём. И важную роль здесь играют голоса пользователей.

          Про указание направлений — идея хорошая, но, да, пока не реализованная. Лучшее, что можно посоветовать сейчас: проезжая камеру, нажать на кнопку «восклицательный знак в кружочке» (добавить дорожное событие) — в этот момент откроется диалог установки точки, и зафиксируется координата. Далее, вы доезжаете до светофора и спокойно вписываете нужный комментарий.
          • 0
            А почему бы не выдавать диалог «Камера направлена...» с вариантами «в направлении моего движения» и «в противоположном»
            • 0
              Идея нам тоже кажется хорошей. Просто её нужно сделать. И как всегда, она конкурирует с множеством других. Поэтому, традиционно планы не раскрываем. А если реализуем, то обязательно расскажем.
    • +16
      Офигеть.
      Вариант «не превышать», видимо, не рассматривается?
      • –6
        НЕТ
        • +3


          У нас есть два варианта бороться с превышениями скорости на дороге:
          1. Реалистический — попросить Яндекс разработать систему, при которой все радары отмечены на карте, а гаишники ничего не могут с этим сделать.
          2. Фантастический — не превышать.
      • +2
        Не рассматривается вариант «взять рацию». Может не так комфортно, зато с модными нынче фишками вроде децентрализованности и невозможности закрыть.
  • +9
    Извините, но прокладка маршрута с учётом пробок и прогноз времени поездки с учетом пробок у вас никуда не годятся. Чуть ли не через день Яндекс карты пытаются предложить мне маршрут с совершенно ненужными гигантскими крюками общей длиной в 20-25 км вместо кратчайших 11 км, а когда я ставлю промежуточную точку на этот обычный маршрут (который, кстати, пролегает по основным магистралям), выясняется что время движения по нему прогнозируется либо таким же, либо на несколько минут МЕНЬШЕ.

    Прогнозы по времени я раньше умножал на два, теперь, судя по всему, пора умножать на 3. На днях ехал по ТТК, в обоих мобильных приложениях весь мой участок ТТК был отмечен как страшнейшая пробка (короткими тёмно-красными стрелочками), но оба уверенно прокладывали маршрут именно по этой пробке и утверждали, что я доеду за 19 минут. Ехал я больше часа.

    Про то, что рапортовать об ошибках на карте вам бесполезно, я тоже уже понял. Года полтора два назад написал через «Сообщить об ошибке», что с матросской тишины ЕСТЬ левый поворот на стромынку, полгода назад какому-то живому сотруднику, хваставшемуся кучей исправлений на картах пожаловался, что до сих пор не исправлено, он удивился и попросил описать ему ошибку ещё раз. Сейчас, наверное, вы удивитесь тоже и опять ничего не произойдёт.
    • +4
      Аналогичная история. В питере несколько раз через карты сообщал что нету левого поворота на большеохтинский мост с внутренней полосы набережной. А навигатор меня всё равно туда упорно посылает. Хотя учитывая то, что некоторые новые улицы почти по году не появлялись на картах, то ситуация с какими-то там поворотами не выглядит удивительной. Кроме этого есть большие проблемы с прокладкой маршрутов через пробки — регулярно проезжаю сильно быстрей, чем сулит мне яндекс, тупо по параллельным магистралям. Вердикт: пользоваться прокладкой маршрута в яндекс.картах можно только прекрасно зная город, в незнакомом же месте навигацией от яндекса пользоваться невозможно: в лучшем случае потратите кучу времени, в худшем — лишитесь прав.
      • +4
        Небольшой оффтоп: ехали впятером по нокиевскому навигатору по питерскому каду, навигатор говорит съехать, я сомневаюсь — несколько рано было по моему мнению, но все же съезжаю, навигатор говорит поверните направо, мы синхронно поворачиваем голову направо, а там… лес! Просто стена из деревьев!
        Надо признать от внезапного истерического ржача в салоне машину чуть не разорвало. Люблю я эти навигаторы :)
      • 0
        Про новые улицы и запрещённые манёвры: пока мы действительно очень редко обновляем карту дорог, но мы разрабатываем систему для более быстрой публикации. Следите за анонсами. Мы уверены, что с помощью новой технологии и отзывов пользователей сможем создать качественную быстро обновляемую карту.
        • 0
          А еще с невского около дома зингера предлагает повернуть налево (если ехать в сторону восстания), хотя там только прямо. И чтобы приехать к спасу надо сделать небольшой крюк около казанского и ехать прямо вдоль набережной. Кстати на схеме там даже стрелочки направления неверно нарисованы.
      • 0
        нету левого поворота на большеохтинский мост с внутренней полосы набережной.
        Как это нету? Там по кругу проезжаешь по стандартной схеме и все.
        • 0
          Хотя давно не ездил, может и перекрыто сейчас
        • 0
          Он правый получается — проезжаешь под мостом сначала, потом поворачиваешь. А яндекс упорно левый предлагает — заезжать в карман до моста и поворачивать поперёк движения налево.
      • 0
        В Нижнем он стабильно направлял не в ту сторону, потом наловчился узнавать одностороннее движение по направлению пробки.
    • 0
      Действительно, расчёт времени по маршруту может быть не очень точным, а в глухих пробках ошибка и вовсе значительна. Но благодаря этому текущий алгоритм частично сглаживает маршруты с излишним вилянием (хотя не полностью). И мы работаем над улучшением алгоритма маршрутизации.

      Про ошибки типа «запрещённый манёвр» вы снова правы: карта запрещённых манёвров обновляется редко, что связано с огромным объёмом данных, который требуется обработать, перепроверить и опубликовать. Мы работает над технологией быстрого внесения изменений. Следите за анонсами, мы обязательно расскажем, когда мы научимся быстро реагировать на сообщения об ошибках.
      • +2
        А то, зачем частенько предлагается более сложный, длинный и долгий маршрут вместо простого и короткого, как по времени, так и по расстоянию, вы никак не прокомментируете? :)
        • 0
          В рамках чисел, которыми располагает маршрутизатор, он ищет минимальное время. «Простота» и длина маршрута не учитывается. Порой можно выгадать минутку добавив промежуточную точку, что вызвано особенностью оптимизации алгоритма, но в общем случае 1 минута не должна являться важной для пользователя.
          • 0
            Так для меня не минута является важной а то, что ради экономии 1 минуты (а иногда даже и без всякой экономии, а наоборот, за большее время) мне предлагают проехать в два раза большее расстояние.

            Т.е. ситуация, я еду из сокольников к динамо. Яндекс мне предлагает маршрут чуть ли не через кремль, 20+ км, 44 минуты. Ставлю промежуточную точку на ттк, перепрокладывает по ттк — 11км, 43 минуты. Я не утверждаю, что так всегда. Но 1-3 раза в неделю я подобное вижу.
            • 0
              Можно разложить ваше утверждение на два:
              1) При почти равном времени, я предпочту более короткий маршрут
              2) Странно, что порой добавив промежуточную точку, я вижу меньшее время.
              Ответы выше были:
              1) Да, мы вообще никак не учитываем длину. Только время. Несомненно, это не идеальная концепция, её можно улучшать
              2) Да, такое бывает в рамках минуты.
              Сумма эффектов 1 и 2 действительно порой удивляет, но если отбросить эмоции, то более длинный маршрут вполне приемлемый, ибо он как минимум не сильно медленней (на самом деле с точностью в 1-2 минут вообще не возможно спрогнозировать время движения), а может и быстрее. Есть люди, которые говорят «уж лучше ехать побольше, чем стоять в пробке» — для них такой маршрут идеален. Кто-то может считает наоборот. Так или иначе, это вполне возможный маршрут, хотя многим может больше нравится другой.
              • 0
                Про точку вы всё же так и не поняли. Я ставлю точку не на проложенном маршруте. Я ставлю её на другом маршруте, которым я обычно еду, чтобы посмотреть, сколько времени займёт поездка по нему. И этот вариант получается короче И быстрее по сравнению с тем, который мне был предложен изначально.

                При этом короткий маршрут — это самый простейший путь, по самым крупным дорогам, без объезда по параллельным улицам, дворам и т.д., фактически на эти 11 км я делаю всего 3-4 поворота, то есть это одно из простейших решений, которые ваш алгоритм вряд ли мог упустить. И вопрос в том, почему мне предлагается длинный И долгий маршрут вместо короткого И быстрого.

                То есть, даже если не брать в расчёт расстояние, которое вы не учитываете, всё равно получается проигрыш по времени.
                • 0
                  Откуда вы знаете, что короткий маршрут быстрее? Маршрутизатор этого не знает, он ориентируется на свои данные. Возможно вы точнее оцениваете время, учитывая факторы, которых не знает маршрутизатор — это уже другой вопрос, напрямую не связанный с длиной маршрута. Можно найти и обратный пример, когда вы предложите более длинный маршрут, но при этом он окажется быстрее, чем предлагает маршрутизатор. Итого, ключевой вопрос в верности оценки времени. Повторюсь, оценка не идеальна, в некоторых случаях может давать не оптимальные рекомендации, но в большинстве случае предлагает вполне разумные варианты.

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

                    Всё, я понял, спасибо. Получается, что мой короткий маршрут скорее всего был также рассмотрен, но без дополнительной точки был рассчитан с бОльшим временем, чем длинный. Как программист, я могу принять такое объяснение, хехе =)
              • 0
                Извините, но эту концепцию не можно, а необходимо улучшать. Я постоянно натыкаюсь на эту фичу — например ЯК предлагает мне ехать через МКАД, хотя через ТТК в 2 два раза короче, а по времени столько же или очень близко. Хорошо, что я оба маршрута знаю как свои пять пальцев и невзирая на рекомендации карт просто еду по более короткому, получая через 5 минут новый уже нужные мне маршрут.

                Идеально было бы чтобы была настройка — приоритет маршрута по времени или по расстоянию.
                • 0
                  Да приоритет либо по времени, либо по расстоянию как раз не нужен (ну разве что в виде предложения двух альтернативных маршрутов, как в навигаторе). Хотелось бы как раз некоторой интеллектуальности, принятия в расчёт и времени, и расстояния. Хотя бы на том уровне, чтобы ради, допустим, менее 5% разницы во времени не выбирался в 2 раза более длинный маршрут. И наоборот, чтобы ради экономии 100 метров не ехать лишние полчаса. Хотя бы вот такие ограничения, против двукратного увеличения одного параметра ради копеечного выигрыша в другом.
                  • 0
                    Всё верно. Есть такие направления развития: а) разнообразие маршрутов и б) индивидуальная настройка. Мы про них знаем, но просто не возможно делать всё сразу. Нам тоже хочется делать быстрее, но есть реальные (ограниченные) ресурсы. Хочу заметить, что сегодня мы рассказали о прогнозе пробок. — тоже важная и нужная функция.
                    • 0
                      Могу только пожелать удачи :)
                      Несмотря на все мои претензии, я считаю, что и сами карты, и веб-обвязка и приложения — отличные.
    • +1
      Прогнозы по времени я раньше умножал на два, теперь, судя по всему, пора умножать на 3.

      В презентации с Yac, по мотивам которой написан этот пост, на десятом слайде есть очень интересная картинка. По ней можно судить, насколько с разными скоростями ездят автомобилисты по одной дороге в одно и то же время.
      А в случае стоячей пробки точность падает еще больше, так как время проезда — величина обратная скорости и малые отклонения в скорости приводят к большим отклонениям во времени.
    • +2
      Может быть яндексу просто не хватало данных по каким-то участкам, т.к. всех направили по короткому пути, вот и решили некоторых пользователей использовать как зонды, отправить туда, где нужно посмотреть состояние пробки )))
    • 0
      О поворотах: я добавил разворот на народных картах и достаточно скоро он появился в основных картах. Обидно, что моё предложение отмечать направления движения на перекрёстках так и было проигнорировано. Сделали бы — быть может, часть проблем ушла бы=)
      • 0
        Нам тоже обидно, что невозможно сразу реализовать все пожелания. Но шаг за шагом мы дойдём и до вашей идеи.
    • +1
      Проверьте пожалуйста еще раз. В конце прошлой неделе выехал большой апдейт графа, теперь он будет обновляться часто и по другим технологиям.
      • 0
        Аааа, то-то я думаю, почему соседний перекрёсток поломали, а оказывается был большой апдейт =)
        То, про что я говорил, исправили, спасибо. Про поломанный сейчас через форму напишу.
  • +15
    Вот так яндекс спрогнозировал вчера время в пути для 16 км:
    • +35
      Действительно глупость. Судя по карте, тут не меньше месяца добираться.
    • 0
      В начале или в конце вашего маршрута перекрытый участок дороги, который невозможно объехать
      • +2
        … но если очень захочется, то за 17 дней можно и по недостроенному мосту проехать.
        • +8
          Просто через 16 дней подрядчик обещает завершить ремонт.
        • 0
          Через сыктывкар.
    • 0
      Не забудьте взять с собой сухой паек и переносной туалет!
  • +2
    Also, хочется добавить к вышесказанному что очень грустно когда навигатор тебя ведет по дворам отмеченным «серым» цветом, думая что это самый быстрый маршрут, при этом еще строит его «лесенкой».
    • +2
      Лесенка — это вообще ад :) Причем она строится даже когда есть возможность проехать с одним поворотом по свободной дороге сделав крюк в лишний километр-два.
      Еще очень хотелось бы чтобы учитывались ремонтные работы: навигатор как-то погнал меня через ремонтируемую набережную со всеми прелестями таких дорог (сужения, выезд на встречку, внезапные конусы, забивающие на все правила безопасности джамшуты небрежно гуляющие по проезжей части и т.д.). Пока я проехал ее настал час икс — время пробок и я встал на Московском пр. (спб).
      Правильную дорогу я знал, просто хотелось проверить навигатор. В общем, работать есть над чем, думаю со временем срастется.
      • +4
        Над проблемой лесенок мы работаем, а вот проблема ремонтов сложно формализуется. Алгоритм не знает, насколько там ужасные условия движения из-за ремонта, и готовы ли вы к этому, или предпочтёте объезд более длинным путём. Пока можно лишь самостоятельно изучать текст в точках и при желании избегать эти участки. И конечно же пишите свои комментарии и плюсуйте полезные.
        • 0
          Да понятно, что это титаническая работа. Это мы тут диванные маркетологи все можем и все умеем.
          А по ремонтам, думаю должна же быть продолжительность ремонтируемого участка, следовательно меньшее предпочтение маршруту.
          • 0
            Продолжительность ремонтируемого участка у нас есть в виде информации о том, что по нему медленно едут. И ровно такой штраф он и получает. Если там асфальт снят, трясет, но люди все равно едут быстро, то штрафа никакого маршрут не получит: мы оптимизируем время.
            Чтобы оптимизировать комфортность езды, необходимо научиться её измерять.
            • 0
              А как вы определяете что идут ремонтные работы? Если это какой-нибудь гос. орган он не может сообщить откуда-до куда идет ремонт?
              Недавно при съезде с Тучкового моста в левом ряду стоял бульдозер, его объезжали. Т.е. гарантированно с левого ряда уходили в правый и назад на левый за бульдозером. Там же сняли асфальт: все тормозили и задерживались на участке в 3-4 метра и только потом теряя терпение жали педаль в пол.
              Но я так понимаю, для этого надо следить за рядами и учитывать очень мелкие участки, т.е. иметь очень точное позиционирование, учитывая, еще как у нас все любят перестраиваться это будет совсем не просто.
              • +1
                А как вы определяете что идут ремонтные работы?

                Для маршрутизации — никак. Это не нужно. У нас есть скорости, мы знаем что люди тормозят, а почему это происходит — не важно.
                С другой стороны, у нас есть «дорожные события».
                Если это какой-нибудь гос. орган он не может сообщить откуда-до куда идет ремонт?

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

                Нет, не надо. Если эффект от дорожных работ большой, машины не успевают проехать, то образуется пробка, увеличивается время проезда, мы это видим, рисуем красное. Навигатор, по возможности, предложит маршруты объезда.
                Если дорога свободная и вы не потратите много времени на объезд бульдозера, то не все ли равно, есть он там или нет?
                • 0
                  Вообще-то есть. Ремонт он на то и ремонт, что требует большего внимания от водителя. Если дорога свободная, то водитель может на скорости перестроиться перед другим едущим авто, а доехав до снятого асфальта вдарить по тормозам. Если водитель сзади не успеет сбросить скорость будет дтп.
                  Другой случай: ночью пробок нет, дороги свободны. Можно ехать с привычной скорость и быть быть приятно удивленным глубокой яме в метре впереди — среагировать вы не успеете.
                  Если на ремонтных участках не было бы пробок машины бились бы там постоянно. Мы же в России: водителя теряют терпение стоя в пробках и объезжая каждую яму, ремонтники клали болт на привила безопасности и ставят конусы в полу метре от открытого люка.
                  Месяц назад я чуть не уехал в строительные загромождения, потому-что знаки никто не снимает, они висят и предупреждают, что впереди ремонт, а его нет,. На 3-4 вы уже забиваете.
                  • 0
                    Забыл сказать, что это было на КАДе. При скорости потока в >100 км нужно успеть среагировать и не собрать все соседние ряды.
                  • 0
                    Чтобы оптимизировать комфортность/безопасность езды, необходимо научиться её измерять. В цифрах и универсально для всех водителей. Кажется, что она будет зависеть от опыта вождения, типа автомобиля, психологического состояния (я бодр, могу ехать быстро / я устал, засыпаю, реакция притуплена, хочу меньше поворотов).
                    Сбор и обработка необходимых сведений задача трудная технически, психологически и юридически. Она интересная, но Яндекс.Пробки сейчас решают другую задачу.
              • +1
                О ремонтных работах по большей части нам сообщают пользователи мобильных Яндекс.Карт, об очень крупных пишут в прессе — их добавляем вручную. Плюс в ряде городов у нас налажен экспорт данных из базы данных городских служб. Однако далеко не всегда можно понять, что происходит именно в данную секунду, насколько интенсивны работы, и как они ухудшают движение.
            • 0
              Стойте, стойте.
              Продолжительность ремонтируемого участка у нас есть в виде информации о том, что по нему медленно едут.

              Т.е. никто вам не сообщает, вы просто выясняете это эмпирически?
    • 0
      Ага, меня тоже бесят эти лесенки. Такое впечатление, что навигация от яндекса вообще не учитывает ни светофоры, ни время на повороты.
      • 0
        К сожалению, пока учитывается только средняя скорость движения по улицам.
    • 0
      Да, причем на «серых дорогах» очень часто отсутствует асфальтовое покрытие и проехать по ним не получается из-за огромных ям. Нужно такую опцию включить в ПО: использовать или нет такие дороги.
    • +2
      Не говоря о том, что сквозной проезд через дворы вообще-то запрещён =)
      Помню, Автоспутник, когда добавил дворы в карты, специально декларировал, что они про это помнят и по дворам прокладывают только участки от начала и конца маршрута до нормальных дорог.

      На практике, конечно, и у них это ни фига не работало и через дворы, магазинные парковки и пешеходные тротуары Автоспутник посылал безо всякого стеснения даже в середине маршрута :)
      • 0
        Проезд через дворы у нас формально не запрещён, но им выставляется минимальный приоритет, чтобы в большинстве обычных ситуаций маршрутизатор через них не вёл.
        • 0
          К дворам на ваших картах у меня пока претензий нет. Я просто привёл пример того, к чему это приводило в прошлом на других картах.
    • +2
      Мы знаем о проблеме лесенок, и работаем над улучшением алгоритма.
  • 0
    Увидев пробку в прогнозе, можно смело туда ехать, т.к. люди, увидев прогноз, туда не поедут, и пробки не будет.
    • 0
      Если так будет постоянно, то прогноз перестанет предсказывать красное в таких ситуациях, люди начнут туда ехать, пробка снова начнет образовываться, эти данные снова попадут в расчет прогноза… В итоге процесс уравновесится на нейтральном желтом цвете.
      Хотя, конечно, есть нюансы, связанные с тем, что цвет — это дискретная величина и колебания могут не затихнуть.
    • 0
      Да, это парадокс такой системы. Предсказывая пробки, Яндекс уже сам влияет на пробки. Получается парадокс, аналогичный квантовому: измерение влияет на сам объект, делая измерение бесполезным.
      • +1
        Мы следим за тем, насколько наш прогноз влияет на ситуацию на дорогах. Мы будем рады обнаружить, что нам пора перестать быть чисто информационным сервисом, и заняться планированием движения :) Но пока рано говорить о действительно существенном влиянии.
      • –2
        Скажите пожалуйста, причем тут вообще квантовая теория?

        Город, в котором пробки зависят от пробок — сложная динамическая система, локально ее можно описать гармоническим осциллятором (меньше пробка сейчас — больше пробка через 15 минут и наоборот), а имея огромную статистику и небольшую комнату с математиками, можно постепенно сконструировать очень точную модель.
        • +1
          Я вроде русским языком написал. А статистика и точная модель — взаимоисключающие параграфы. Всегда есть флуктуации, именно поэтому потребовалось предсказание, и было недостаточно просто «обычно». Соответственно, сколь не собирай статистику, всегда будет лишь вероятность. «Точная модель» — типичная ошибка профанов, не изучавших термодинамику.
          • 0
            Простите, что за тон?

            >Я вроде русским языком написал.
            Вы русским языком написали ужасающую чушь, притянув за уши соображения совершенно разной природы.
            >«Точная модель» — типичная ошибка профанов, не изучавших термодинамику.
            Для меня «точность» — мера удаленности от идеала, для вас — бинарное понятие.

            Советую поизучать математику, вас там ждет много нового и необычного. Начните с брошюрки Арнольда «Жесткие и мягкие модели», это ближе всего к обсуждаемому вопросу.
            Вы не способны вести содержательную дискуссию, начиная тут же сыпать оскорблениями и обиженными ответными минусами. Всего хорошего.
            • 0
              Простите, что за тон?
              Поддерживаю заданный вами.

              Советую не притягивать идеальность математики к неидеальным моделям. Так что лучше поизучайте физику, а то в облаках витаете.
  • +10
    Доклад с YaC-а, который не удалось послушать из-за жуткой толпы на входе в зад. Спасибо большое!
    • +4
      В зал, конечно, прошу прощения.
      Хотя…
  • +1
    Эх, взял бы кто актуальность пробок от яндекса и алгоритмы построения маршрутов от навитела. Вот это был бы идеальный навигатор.
  • 0
    Эх, когда же Я.Навигатор научится озвучивать камеры :( А если бы еще и оффлайн-карты прикрутили, цены бы не было…
  • 0
    Сроки не называем, но обязательно вас порадуем:)
  • +1
    Поскольку все эти чудеса актуальны для крупных городов, позволю себе заметить, что обновление дорожного графа реже чем раз в год при использовании «собственной» картографической основы, а также отсутствие синхронности между графом и картой (то есть данными для прокладки маршрутов и данными для отображения на экране) легко сведет скромные 10% выигрыша от прогнозирования к нулю. Это во вчерашней теме про обновление карт я уже постил, покажу и тут:
    • 0
      Уже отвечал выше. Мы осознаём, что граф нужно обновлять чаще, но процесс встраивания купленной картографической компании совсем не так прост. К сожалению, пока обновления происходят крайне редко, но это вопрос времени.
      • +1
        Пока не будет сквозной инфраструктуры, позволяющей накатить любые изменения — будет разброд и бардак.
        Интересно, как на сохраняющиеся годами ошибки реагируют активные пользователи Народной карты, которые их уже сто лет как учли.
        Что такое «интеграция картографических данных» — я в курсе. Те же «пионеры», что изобразили имеющееся, могли бы уже раз пять успеть проассоциировать все узлы даже полностью вручную.
    • 0
      Теперь в этом и многих других местах будет ехать правильно.
  • 0
    При прочтении возник вопрос — а берете ли Вы в учет топологию? Грубо говоря, учитываете ли «приток» и «отток» машин с/на ребра графа? В тексте есть слова про дорожный граф и топологию(про их существование), но не сказано об их применении
    • 0
      На самом деле написано:
      Поэкспериментировав с разными методами и оценив их точность и вычислительную сложность, мы остановились на линейной векторной авторегрессии. Она предполагает, что будущая скорость — это линейная комбинация нынешней и нескольких прошлых скоростей на нескольких участках: непосредственно на рассматриваемом, а также соседних с ним.

      Линейная модель не привязана к задаче и не может учитывать топологию напрямую. Но выделяет закономерности вида «когда на одном ребре машин убавилось, то на другом через n минут их стало на такую-то часть убывшего больше». То есть она сама косвенным образом восстанавливает топологию.

      Непосредственный учет топологии производится в имитационных методах, от которых пришлось отказаться.
  • 0
    Правильно я понимаю, что оценка текущей модели прогнозирования позволяет водителю улучшить свою ситуацию всего лишь на 15 процентов? Но насколько прогноз дорожной ситуации близок к фактическому?
    • 0
      Правильно я понимаю, что оценка текущей модели прогнозирования позволяет водителю улучшить свою ситуацию всего лишь на 15 процентов?

      А почему «всего-лишь»? 15% это весьма неплохо. Про то, что подразумевается под качеством рассказывалось на Yac. В слайдах есть картинки, сравнение есть в конце. Точных цифр там нет и не будет: качество зависит от того, где его измерять. На крупных магистралях, где вы проводите большую часть времени оно больше, чем на второстепенных улицах. Есть и другие зависимости.
  • 0
    Эх, когда это уже для Минска заведется нормально?
    • 0
      Думаем об этом, о планах традиционно не можем говорить
  • 0
    Не так давно (вроде, не больше двух недель), Яндекс-карты начал прокладывать маршрут по улочкам, на которых уже 10 лет как лежит большой бетонный блок. (Киев, и пригороды). Раньше почему-то такого не было. Как можно сообщить Яндексу, что здесь проезда нет, и не будет?

    • 0
      Вон, в Народной карте туча людей сообщают. В основной карте — ноль изменений. Пока официальный поставщик данных не исправит, в карте изменений не будет. А как показано выше, есть еще разница между собственно картой и прокладкой маршрутов, то есть картинку исправят, а маршруты все еще будут прокладываться по-старому.
      • 0
        в соседнем треде — о правильном способе сообщать об ошибках в дорожном графе (http://habrahabr.ru/company/yandex/blog/153631/?#comment_5244071) и нашей работе над возможностью учитывать их более оперативно (http://habrahabr.ru/company/yandex/blog/153631/?#comment_5230739)
        • 0
          Не, господа, так дело не пойдет.
          Во-первых, вы и так знаете, что граф и карта существуют отдельно, а должны — вместе. Какой-то разговор об исправлении ошибок может идти только тогда, когда устранены системные, архитектурные. Иначе это не «заплатки на маленькие дырки в одеяле», а «одеяло, которое состоит из заплаток» получится.
          Во-вторых, какой смысл посылать в форму сообщения об ошибках, если за вас уже в НК все нарисовано? Или «пока пять раз не пнут, не почешемся» — ваш принцип?
          • 0
            1. Да, над избавлением от расхождений между картинкой карты и графом мы работаем.

            2. Мы решили начать с того, чтобы исправлять в графе явные массовые жалобы пользователей на неправильную прокладку маршрута. Когда наладим этот процесс, будем думать об учёте в дорожном графе правок, которые пользователи делают на Народных Картах — эта задача изрядно сложнее, чем обрабатывать явные жалобы. На текущий момент самый верный способ сообщить нам об ошибке — именно описанный в habrahabr.ru/company/yandex/blog/153631/?#comment_5244071
            • +1
              Facepalm.

              Вы из одних (а не разных) данных не пробовали делать и картинку и роутинг? Это архитектурная проблема, без решения которой заплатки бессмысленны (их слишком много потому что потребуется — это вариант, который не сходится к решению). И не обманывайте себя — у вас уже есть пользовательский фидбэк — Народная карта. Там в 90% мест, где в официальной карте ошибки, все нарисовано верно. Но вы его просто обработать не можете. Также не сможете и то, что вам в виде невнятных объяснений пришлют.

              Hint: напишите хотя бы топологический валидатор, который будет тупо сравнивать наличие узлов и ребер в трех графах: дорожном (вырожденном), «картиночном дорожном» (из которого вы картинку генерируете), «народном картиночном». И сделайте для внутреннего пользования на его основе схему, где будут отмечены топологические расхождения. Тогда не придется разбираться в косноязычном фидбэке, а пользователи НК, наконец, почувствуют себя нужными, а не работающими «в стол», когда то, что они уже сто лет как нарисовали, наконец будет исправлено.
              • 0
                Спасибо, мы вас услышали.
    • 0
      Через стандартную форму «сообщить об ошибке» в картах на вебе и в мобильных Яндекс.Картах. В навигаторе тоже обязательно появится.
  • 0
    Вот бы вы ещё научили навигатор различать хорошо проходимые дороги и козлиные тропы, на которые яндекс.навигатор постоянно норовит увести для объезда пробок. Ну или хоть в настройках добавили галочку «игнорировать козлиные тропы», которую я бы с удовольствием проставил.
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Конечно, думаем. Технологически это не очень простая задача.
      • 0
        Почему же? Совсем честно учитывать прогноз при построении маршрута очень сложно, но ведь можно сделать постпроцессинг: для нескольких локально минимальных маршрутов которые выдал маршрутизатор на момент NOW — вычислить время в пути с учетом прогноза (прогноза скоростей на участках маршрута, в то время когда мы там окажемся), и выбрать лучший маршрут. Честно говоря, я думал что так и делается.
        • +1
          Построение нескольких локально минимальных маршрутов задача весьма нетривиальная. Стандартные алгоритмы типа дейкстры или A* дают лучший маршрут. Следующий за ним будет отличаться на какую-нибудь мелочь, например проезд через бензозаправку. А нужен следующий значительно отличающийся маршрут.
          • 0
            Да, я имел ввиду сильно отличающиеся маршруты, например поехать через 3 кольцо или через МКАД, проехать по МКАД лишний участок и въехать в город по другому шоссе — такие варианты регулярно предлагает ваш маршрутизатор. При относительно длинном маршруте и наличии крупных магистралей — источником маршрутов являются треки самих пользователей, если уметь их выделять. Также и время движения по треку точнее определять интегрально, по живым трекам, а не усредняя короткие зашумленные участки.

            Источником альтернативных значительно отличающихся маршрутов может быть ваш маршрутизатор запущенный на исторических данных за разные периоды времени (ночью, в выходной, в час пик, ...) — если получатся разные маршруты — каждый из них можно пересчитать для текущего прогноза скоростей и потом уже выбрать наилучший, или даже предложить пользователю пару вариантов, если он хочет. Маршрут проложенный по пустым дорогам, по-видимому, будет содержаться в большом количестве живых треков в любое время суток, и его надо всегда держать на готове в качестве альтернативы вычисленному.

            Отдельное замечание по поводу маршрутов прокладываемых через МКАД — там если уж застрял то все, ни съехать ни объехать, в отличие от большинства внутригородских дорог. Для пользователя было бы полезно знать не только оценку времени движения, но и доверительный интервал такой оценки. Очевидно на разных маршрутах он разный, хоть какую-то грубую оценку хотелось бы уметь учитывать.
            • +1
              Любой из предложенных вами вариантов не является простой задачей. Работа в некоторых из этих направлений ведется.
              При относительно длинном маршруте и наличии крупных магистралей — источником маршрутов являются треки самих пользователей, если уметь их выделять. Также и время движения по треку точнее определять интегрально, по живым трекам, а не усредняя короткие зашумленные участки.

              Как вы думаете, сколько людей проехали по тому маршруту, по которому вы хотите проехать за час до того, как вы построили маршрут? А у скольких из них стоят Яндекс.Карты? А если вам ехать более часа? Если трек и найдется, то он уже устареет и наш текущий алгоритм даст лучший результат.
              Также есть вопрос вычислительной эффективности. Рассчитывать пробки из трков для каждого маршрута отдельно вычислительно трудно.
              Но некоторая вариация на тему этой идеи, обеспечивающая необходимую полноту данных и вычислительно эффективная, у нас используется.
              Источником альтернативных значительно отличающихся маршрутов может быть ваш маршрутизатор запущенный на исторических данных за разные периоды времени (ночью, в выходной, в час пик, ...) — если получатся разные маршруты — каждый из них можно пересчитать для текущего прогноза скоростей и потом уже выбрать наилучший.

              Это получается переборный алгоритм. Я думаю, что вы не хотите, чтобы время построения маршрута увеличилось в 10 раз.
              • 0
                «Это получается переборный алгоритм. Я думаю, что вы не хотите, чтобы время построения маршрута увеличилось в 10 раз.»

                Какой же это переборный алгоритм, если выбор всего из 3-4 вариантов? И время построения маршрута почти не изменится, поскольку разные варианты вычисляются параллельно.

                Но ресурсоемкость увеличиться в эти 3-4 раза — вполне можно попробовать в качестве лабораторного эксперимента, чтобы понять велики ли получаемые преимущества в виде большей полноты и точности результатов. Если эффект будет заметен — тогда уже может встать вопрос ресурсов, оптимизации и т.п. (например, для «ночного» маршрута можно исключить из графа мелкие дороги)

  • 0
    Прошу добавить значек ограничения скорости в текущей точке (например, красный кружек с цифрой в правом нижнем углу). Такая фича есть в некоторых других навигаторах и это очень удобно (особенно если настроить звуковой сигнал на определенный уровень превышения).
    • 0
      Спасибо, знаем про такую фичу. В скором будущем не обещаем, но вообще про неё тоже помним.
  • 0
    Зачем отображать в слое пробок закрытые месяцами участки движения? Можно же просто учитывать при поиске прозда.
    Есть ли какая-нибудь персонализация устройств? Например, что кто-то всегда едет не более 40 (трактор), а кто-то (пожарные) едет быстрее потока?
    • 0
      1. К сожалению, карта (а также данные о запретах маршрутизации) пока ещё обновляются месяцами. Перекрытие же появляется на карте за несколько минут, и также влияет на запрет маршрутизации. Кроме того в первое время перекрытие позволяет людям обратить внимание на необычную ситуацию. А ещё часто бывает так, что перекрытия длятся месяцами, а затем их снимают — в этом случае перекрытия также отличный инструмент сигнализировать об изменениях.

      2. Есть логика для автоматического отсева данных от пешеходов. Классификации типа транспортного средства и стиля вождения нет.
  • 0
    .
  • 0
    Очень хотелось бы на иконках разговорчиков (точка на карте) видеть какой нибудь индикатор наличия комментариев к этой точке, чтобы можно было различать точки с комментариями и точки без. Очень обидно заходить внутрь точки и не обнаружить там комментов.
    • 0
      Это уже реализовано: кликаете по разговорчику, там после текста появляется кол-во комментариев к точке.
      Обновляйте Яндекс.Карты (работает пока только в Android-версии)
      • 0
        Я немного не это имел ввиду. Сейчас для того, чтобы узнать, есть ли комментарии, нужно кликать по разговорчику, а я имел ввиду индикацию прямо на иконке (чтобы было необязательно кликать по ней)… например, у разговорчиков с комментариями можно сделать контур другого цвета… или какой-нибудь кружочек.
        • 0
          Наверное, так тоже можно сделать. Нужно изучить, действительно ли это востребовано. С первого взгляда не очевидно, почему вам не хочется читать разговорчики без комментариев: может быть исходное сообщение ценно само по себе, без дополнительных комментариев.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка