Как указать тип модели трафика

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

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

Оба метода Routes API (Compute Routes и Compute Route Matrix) поддерживают типы моделей трафика.

По умолчанию оба метода используют тип модели трафика BEST_GUESS.

Как указать тип трафика

  1. Укажите пункт отправления и назначения.

  2. Если время отправления ещё не наступило, укажите его с помощью параметра departure_time. Если время отправления не указано, по умолчанию используется текущее время.

  3. Установите для параметра routingPreference значение TRAFFIC_AWARE_OPTIMAL. Если для параметра routingPreference задано значение TRAFFIC_UNAWARE или TRAFFIC_AWARE, он несовместим с параметром trafficModel.

  4. Выберите модель трафика, которую нужно использовать с параметром trafficModel, и один из следующих типов:

    • BEST_GUESS (по умолчанию) – возвращаемое в duration_in_traffic значение должно содержать наиболее вероятную оценку продолжительности поездки с учетом статистики и текущей дорожной обстановки. Чем ближе время отправления departure_time к текущему моменту, тем сильнее результат будет зависеть от текущей ситуации. Тип по умолчанию (BEST_GUESS) позволяет получать наиболее полезные прогнозы в большинстве случаев.

    • PESSIMISTIC – возвращаемое в duration_in_traffic значение должно быть больше фактической продолжительности поездки по этому маршруту в обычные дни (кроме дней с крайне высокой загруженностью дорог). Этот тип позволяет получить расчетное время в пути, которое, скорее всего, будет больше фактического времени в пути в большинстве дней. В дни с особенно плохими условиями на дорогах время в пути может превышать это значение.

    • OPTIMISTIC – возвращаемое в duration_in_traffic значение рассчитывается на основе статистики загруженности дорог в дни с низкой загруженностью. Этот тип позволяет получить расчетное время в пути, которое, скорее всего, будет меньше фактического времени в пути в большинстве дней. В отдельные дни с особенно благоприятными условиями поездка может быть быстрее.

    Пример:

    "trafficModel": "OPTIMISTIC"

  5. Укажите поле routes.duration в маске поля.

    REST

    -H X-Goog-FieldMask: routes.duration

    RPC

    const (fieldMask = "routes.duration")

При расчете времени с учетом дорожной обстановки API маршрутов использует модель трафика, которую вы запросили.

Пример запроса модели трафика

Например, в этом запросе указано, что продолжительность должна быть рассчитана с использованием типа модели трафика OPTIMISTIC в определенное время отправления:

curl -X POST -H 'content-type: application/json' -d ' {
"origin": {
  "address": "Kyoto, Japan"
  },
"destination": {
  "placeId": "ChIJrYtcv-urAWAR3XzWvXv8n_s"
  },
"travelMode": "DRIVE",
"routingPreference": "TRAFFIC_AWARE_OPTIMAL",
"trafficModel": "OPTIMISTIC"
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes.duration' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Этот запрос возвращает расчетную продолжительность поездки с использованием модели трафика OPTIMISTIC:

"duration": "1238s"

Если вы измените тип модели трафика на PESSIMISTIC, возвращаемая продолжительность будет больше:

"duration": "2436s"