Как настроить уровень детализации данных о трафике

Разработчики из Европейской экономической зоны (ЕЭЗ)

Выбранные вами настройки трафика балансируют точность деталей маршрута с производительностью запроса одним из двух способов:

  • С учетом загруженности дорог. Возвращаются наиболее точные результаты (более высокая задержка).

  • Без учета загруженности дорог. Результаты возвращаются как можно быстрее (с минимальной задержкой).

При создании запроса решите, что для вас важнее: получить максимально точные результаты или получить их как можно быстрее. Routes API предоставляет параметры, позволяющие контролировать качество данных ответа в зависимости от задержки ответа.

Как настроить уровень трафика

В Routes API есть параметры RoutingPreference (REST) и RoutingPreference (gRPC), позволяющие задавать настройки маршрутизации для расчета маршрутов.

По умолчанию возвращаются результаты без учета трафика. Вы можете выбрать параметры трафика с помощью настроек маршрутизации TRAFFIC_UNAWARE, TRAFFIC_AWARE и TRAFFIC_AWARE_OPTIMAL. Каждый вариант дает результаты, которые различаются по качеству маршрута, расчетному времени прибытия и задержке ответа.

пробках;

Загруженность дорог характеризует скорость движения транспорта:

  • Обычное движение. Пробок нет, транспорт движется с обычной скоростью.

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

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

Без учета трафика

TRAFFIC_UNAWARE – настройка по умолчанию. Используйте этот вариант, если вам нужно получить ответ как можно быстрее и приблизительных данных о маршруте будет достаточно.

Маршруты TRAFFIC_UNAWARE рассчитываются без учета текущей загруженности дорог. Этот вариант маршрутизации обеспечивает самый быстрый ответ на запрос (минимальную задержку).

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

Вот какие ответы вы увидите:

  • duration – расчетное время прибытия.

  • staticDuration – расчетное время прибытия по маршруту с учетом только статистики загруженности дорог. Для TRAFFIC_UNAWARE это значение совпадает со значением duration.

С учетом трафика

Используйте этот вариант, если вам нужны более точные данные о маршрутах, чем при использовании TRAFFIC_UNAWARE, и вы не против, если ответы будут возвращаться с умеренным увеличением задержки.

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

Вот какие ответы вы увидите:

  • duration – расчетное время прибытия с учетом информации о дорожной ситуации в реальном времени.

  • staticDuration Расчетное время прибытия с учетом только статистики дорожного движения.

Оптимальный маршрут с учетом загруженности дорог

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

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

Вариант TRAFFIC_AWARE_OPTIMAL эквивалентен режиму, который используется на сайте maps.google.com и в мобильном приложении "Google Карты".

При использовании этого варианта с Compute Route Matrix количество элементов в запросе (количество пунктов отправления, умноженное на количество пунктов назначения) ограничено. Подробнее о лимитах Compute Route Matrix…

Вот какие ответы вы увидите:

  • duration – расчетное время прибытия с учетом загруженности дорог в реальном времени.

  • staticDuration – расчетное время прибытия по маршруту с учетом только статистики загруженности дорог.

Укажите время отправления (необязательно)

Используйте это свойство только для запросов с учетом трафика, в которых время отправления должно быть в будущем. Если вы не зададите свойство departureTime, по умолчанию будет использоваться время отправки запроса.

Используйте свойство departureTime вместе с параметрами TRAFFIC_AWARE и TRAFFIC_AWARE_OPTIMAL, чтобы настроить прогнозирование трафика при выборе маршрута.

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

  • TRAFFIC_AWARE и TRAFFIC_AWARE_OPTIMAL. Рекомендуется для поездок, которые состоятся в ближайшее время, поскольку эти настройки учитывают текущую загруженность дорог. Чем ближе время отправления departureTime к текущему моменту, тем сильнее результат будет зависеть от текущей ситуации. Чем дальше в будущем находится время отправления, тем больше учитывается загруженность дорог в прошлом при выборе маршрутов.

Пример. Как выбрать маршрут с учетом загруженности дорог

В следующем коде JSON показано, как задать предпочтительный маршрут TRAFFIC_AWARE_OPTIMAL в теле объекта сообщения запроса.

{
  "origin":{
    "location":{
      "latLng":{
        "latitude":37.419734,
        "longitude":-122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":37.417670,
        "longitude":-122.079595
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE_OPTIMAL"
}