Яндекс карты построить маршрут: Яндекс Карты — подробная карта мира

Компания Яндекс — Технологии — Маршрутизация

Десять-пятнадцать лет назад в бардачке каждого водителя лежал атлас дорог. Он и был главным помощником при планировании маршрута. Сейчас вместо атласа люди всё чаще открывают электронные карты или мобильные приложения, и умные алгоритмы сами строят для них наилучший маршрут. Яндекс помогает людям планировать поездки на сервисе maps.yandex.ru, в мобильных приложениях Навигатор и Яндекс.Карты. Технология построения маршрута везде одна и та же, различаются только интерфейсы.

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

Дорожный граф — это сетка дорог. Она состоит из множества фрагментов, которые состыкованы между собой. Например, дорожный граф Саратова (население — около 840 тысяч человек) состоит из 7592 фрагментов. Каждый из них несёт информацию о своём участке дороги: географические координаты, направление движения, средняя скорость, с которой машины обычно едут на этом участке, и другие параметры. Кроме того, каждый фрагмент содержит данные о том, как он стыкуется с соседними участками — есть ли в этом месте поворот направо или налево, можно ли там развернуться в обратную сторону или разрешается ехать только прямо.

Само собой, дорожный граф нельзя сделать раз и навсегда. Транспортная система города имеет обыкновение меняться. Появляются новые дороги и развязки, меняется направление движения. А там, где ещё недавно был поворот, может висеть «кирпич». Чтобы не отставать от жизни, Яндекс регулярно обновляет данные.

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

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

Дорожный граф хранится на серверах Яндекса в нескольких экземплярах — если какой-то из серверов будет временно недоступен, маршрутизация все равно будет работать.

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

Как это происходит, можно разобрать на примере. Представим, что нужно проложить маршрут из точки А в точку B. Алгоритм начинает методично перебирать все возможные варианты. Первым делом он прокладывает маршрут на один шаг (фрагмент графа) во все стороны от точки А. И затем вычисляет, сколько времени потребуется на преодоление этих участков (тут все просто — расстояние делится на скорость). Дальше он выбирает точку, до которой удалось бы добраться быстрее всего. Это точка С.

Затем алгоритм строит маршрут ещё на один шаг — во все стороны от точки С. И снова анализирует, в какую из точек можно было бы попасть быстрее всего. На этот раз это точка D. На следующем шаге алгоритм будет строить маршрут уже от неё.

Продолжая в том же духе, маршрутизатор находит вариант проезда, который оказывается самым коротким по времени.

Особая тема — дворы. Как известно, сквозной проезд через дворы запрещён. Кроме того, на петляния по ним зачастую уходит больше времени, чем на проезд по прямой. Чтобы сервис не строил маршруты через дворы, за них начисляются дополнительные минуты (они не влияют на время в пути, которое видит пользователь). Поэтому в большинстве случаев алгоритм выбирает другие варианты проезда — они занимают меньше времени. Однако если конечная точка маршрута находится во дворе, алгоритму в любом случае придётся туда «въехать».

Построение маршрута происходит очень быстро. Пока вы читаете эти несколько абзацев, сервис уже несколько раз успел бы оплести паутиной маршрутов всю Россию. Чтобы добиться такой скорости, всю карту автоматически поделили на множество областей, для каждой из которых можно посчитать оптимальные варианты её пересечения. Такой областью может быть, например, небольшой городок, через который проходит всего одна междугородняя трасса — въехать и выехать из города можно только по ней. Это значит, что Яндекс может заранее рассчитать оптимальный вариант проезда через этот город.

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

Всевозможные варианты проезда внутри каждой области и между ними Яндекс строит заранее — при каждом обновлении графа. Дальше, когда пользователь просит построить маршрут, сервис просто вытаскивает его из памяти. Правда, это срабатывает, только если человеку нужен маршрут без учёта пробок — заранее построенные маршруты рассчитаны на основе средней скорости движения, которая заложена в графе. Если же пользователь хочет построить маршрут с учетом ситуации на дороге и внутри области в данный момент есть пробки, Яндекс построит для него маршрут заново.

Почему карты «Яндекса» врут с прогнозом времени в пути? → Roem.ru


Roem.ru

Google Maps, Карты, Яндекс.Карты ru-RU 2013 ООО «Роем» Текучка

Заметил, что «Яндекс.Карты» на ровном участке дороги с разрешённой скоростью 90 км/ч, без всяких пробок, прогнозировали время в пути на сто километров полтора часа с

Заметил, что «Яндекс.Карты» на ровном участке дороги с разрешённой скоростью 90 км/ч, без всяких пробок, прогнозировали время в пути на сто километров полтора часа с лишним.

Начал обращать внимание и обнаружил, что на трассе карты «Яндекса» всегда завышают время маршрутов в большую сторону. Прогнозы Google и навигатора (Navitel) намного более адекватные и точные.

В чём дело, почему такой косяк?

Комментарий Roem.ru: похоже, что у «Яндекса» нет информации по скоростным режимам на автодорогах, а также, что та что есть некорректна или не используется. Проще всего это проверить, прокладывая маршруты по шоссейным дорогам за пределами населённых пунктов или по МКАД (там скоростной лимит — 100 км/ч):

«Яндекс» рассчитывает движение по МКАД со скоростью 80км/ч, Google — 100км/ч

Ещё один пример: Яндекс считает, что на 14 километров пути по М2 (Симферопольское шоссе) надо потратить 16 минут, больше минуты на километр. Хотя единственное место где на этом участке ограничена скорость — это пункт ДПС перед Домодедовским шоссе. Google на те же 14 км даёт прогноз в 9 минут, что куда ближе к реальности:

16 минут против 9: 50 км/ч или 90 км/ч

Новость подсказал пользователь. Присылайте свои новости.

Быстрый поиск: Google Maps, Карты, Яндекс.Карты.

60 комментариев

Поделиться 


  • Причины и последствия украинского кризиса — лекция профессора политологии чикагского университета Джона Миршаймера 24
  • Фейковое цунами. Как распознавать фейки про спецоперацию на Украине 61
  • Доклад Ашманова: как заставить платформы отказаться от плохого контента 189
  • Пять главных ошибок в разговоре о средствах массовой информации. Для начинающих 25
  • О сложности создания Матрицы в Брянской области 17
  • «Ростелеком» ведет переговоры по приобретению «МегаФона»
  • Иностранные ОС заменили только 3% компаний из списка системообразующих
  • PayPal объявила о планах уволить 2000 сотрудников
  • Meta годами платила подрядчику за автоматический парсинг данных, хотя сама осуждала эту практику
  • Сколько времени можно не пользоваться SIM-картой и её не отключат у МТС, Мегафона, Билайна, Tele2 и Yota? 17
  • Браузер Atom рекламируется методами, похожими на убившие браузер «Амиго» 3
  • Сотовый оператор «Феникс», работающий в ДНР и части других регионов Украины, получил российский код +7 (949) 6

Настройка карты — Яндекс Карты. Помощь

  1. Переместить карту
  2. Изменить тип карты
  3. Повернуть или наклонить карту
  4. Изменить масштаб карты
  5. Измерить расстояние
  6. Измерить площадь
  7. Распечатать карту по умолчанию карта вашего города или области.

    Чтобы просмотреть другую область, щелкните левой кнопкой мыши и перетащите карту в нужном направлении.

    В правом верхнем углу страницы нажмите и выберите режим отображения:

    • Выберите Карта для просмотра дорог, зданий и других объектов карты.

    • Выберите «Спутник», чтобы просмотреть фотографии местности, сделанные из космоса.

    • Выберите Гибрид для просмотра спутниковых изображений с дополнительными сведениями о карте (названия улиц, адреса и другая связанная информация).

    Режим отображения не влияет на другие функции карты, такие как поиск, планирование маршрута или перетаскивание карты.

    Вы можете вращать и наклонять карту только в режиме карты.

    Внимание. Эта функция не поддерживается на устаревших и маломощных устройствах.

    Для управления наклоном и вращением карты можно использовать:

    Чтобы вернуть карту в исходное положение, один раз щелкните внешнее кольцо компаса.

    При небольшом масштабе наклон сбрасывается автоматически.

    Чтобы изменить масштаб карты, вы можете использовать:

    • Кнопки  и .

    • Колесико мыши: прокручивайте назад для уменьшения и вперед для увеличения.

    • Кнопки мыши: увеличить карту двойным щелчком левой кнопкой мыши, уменьшить двойным щелчком правой кнопкой мыши.

    • Правая кнопка мыши:

      1. Нажмите на карту.

      2. Не отпуская кнопку, переместите мышь туда, куда вам нужно.

        Перемещая мышь, вы выделяете область на карте.

      3. Отпустите кнопку.

        Выделенная область сместится в центр карты, и карта увеличится.

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

    Для этого выполните следующие действия:

    1. В правом верхнем углу страницы щелкните . Убедитесь, что слева выбран параметр Измерить расстояние.

      Чтобы отключить эту функцию, нажмите эту кнопку еще раз.

    2. Выберите начальную точку измерения.

    3. Выберите следующие точки. Длина всей линии будет отображаться рядом с последней точкой.

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

      Если щелкнуть в любом месте линии, появится новая точка. Вы также можете перетаскивать его по карте.

    4. Щелкните в любой точке. Вы увидите расстояние от начальной точки до выбранной точки, отображаемой рядом с ней.

    5. Чтобы удалить точку, дважды щелкните по ней.

      Чтобы удалить всю линию, щелкните рядом с конечной точкой.

    6. Чтобы отключить линейку и удалить всю линию, щелкните рядом с конечной точкой.

    Вы можете измерить площадь произвольного многоугольника.

    Для этого выполните следующие действия:

    1. В правом верхнем углу страницы щелкните . Выберите Планиметр слева.

    2. Выберите начальную точку измерения на карте.

    3. Выберите следующие точки для формирования многоугольника.

    4. Полученный полигон можно настроить. Для этого щелкните любую точку и перетащите ее в другое место.

      Если щелкнуть в любом месте линии, появится новая точка. Вы также можете перетаскивать его по карте.

      Чтобы удалить точку, дважды щелкните по ней.

    5. Вы можете перетащить полигон в другое место на карте.

    6. Чтобы удалить весь многоугольник, щелкните рядом с конечной точкой.

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

    1. Щелкните , затем выберите Печать. Откроется окно предварительного просмотра.

    2. Увеличивайте и уменьшайте карту и перетаскивайте ее, если нужно.

    3. Выберите:

      • Формат страницы:

      • Ориентация страницы:

    4. Напишите комментарий, если вам нужно. Вы увидите комментарий, напечатанный под картой.

    5. Щелкните Печать.

    6. Выберите принтер и параметры печати.

      Щелкните Печать.

    Вы также можете распечатать собственную карту с нанесенными на нее элементами. Дополнительную информацию см. в Конструкторе карт.

    Связаться со службой поддержки

    Поделиться картой — Яндекс.Карты. Помощь

    1. Получить ссылку
    2. Вставить виджет карты

    Вы можете поделиться фрагментом Яндекс.Карты, найденным местом или проложенным маршрутом.

    Для этого выполните следующие действия:

    • Скопируйте адрес из адресной строки.

    • Получить ссылку.

    • Получить код для встраивания виджета Яндекс Карт.

    Для получения дополнительной информации о том, как скопировать ссылку на карту, которую вы создали сами, см. Конструктор карт.

    В остальных случаях используйте API Карт Яндекса.

    1. Нажмите:

      • Кнопку на карте и выберите Поделиться.

      • Кроме того, вы можете щелкнуть в панораме.

    2. В открывшемся окне:

      • Нажмите на иконку нужной социальной сети для автоматической публикации ссылки.

      • Скопируйте ссылку, чтобы поделиться ею с другим пользователем.

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

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

    Для этого используйте автоматически сгенерированный код:

    1. В правом верхнем углу страницы нажмите .

    2. Выберите Общий доступ.

    3. Скопируйте код из поля Виджет с картой для отображения карты или определенного места или маршрута на вашем сайте.

      Чтобы увидеть, как карта будет выглядеть на вашем сайте, нажмите Предварительный просмотр.

    4. Чтобы использовать локализованную карту на своем сайте, отредактируйте код для встраивания.

      Добавьте в скопированный код параметр lang, чтобы указать язык и регион интерфейса карты.

      Значение параметра включает:

      • Код языка: ru — русский, uk — украинский.

      • Код региона: например, RU — Россия, UA — Украина.

      Например, lang=»tr_TR» означает турецкий язык, используемый в Турции.

      Для России и Украины регион и язык интерфейса карты определяются настройками User ID Яндекса. Например, если язык пользователя в Яндекс ID русский, он находится в Киеве, а карта, которую он просматривает, создана в RU или UA, он увидит карту на русском языке, но локализованную для Украины.

      Пример кода

      • Параметр опущен:

        Если параметр lang не указан, регион и язык интерфейса карты определяются на основе настроек карты, которые были у вас при создании кода.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *