Модели трафика используют определенные алгоритмы и факторы, чтобы прогнозировать, как загруженность дорог повлияет на общее время в пути по заданному маршруту. Routes API предлагает разные типы моделей трафика, чтобы при расчете времени в пути учитывать разные факторы. Вы можете указать, какую модель трафика использовать при расчете продолжительности маршрутов или матрицы маршрутов. При настройке типа модели трафика значение, возвращаемое в поле duration, зависит от выбранной модели трафика.
Оба метода Routes API (Compute Routes и Compute Route Matrix) поддерживают типы моделей трафика.
По умолчанию оба метода используют тип модели трафика BEST_GUESS.
Как указать тип трафика
Укажите пункт отправления и назначения.
Если время отправления ещё не наступило, укажите его с помощью параметра
departure_time. Если время отправления не указано, по умолчанию используется текущее время.Установите для параметра
routingPreferenceзначениеTRAFFIC_AWARE_OPTIMAL. Если для параметраroutingPreferenceзадано значениеTRAFFIC_UNAWAREилиTRAFFIC_AWARE, он несовместим с параметромtrafficModel.Выберите модель трафика, которую нужно использовать с параметром
trafficModel, и один из следующих типов:BEST_GUESS(по умолчанию) – возвращаемое вduration_in_trafficзначение должно содержать наиболее вероятную оценку продолжительности поездки с учетом статистики и текущей дорожной обстановки. Чем ближе время отправленияdeparture_timeк текущему моменту, тем сильнее результат будет зависеть от текущей ситуации. Тип по умолчанию (BEST_GUESS) позволяет получать наиболее полезные прогнозы в большинстве случаев.PESSIMISTIC– возвращаемое вduration_in_trafficзначение должно быть больше фактической продолжительности поездки по этому маршруту в обычные дни (кроме дней с крайне высокой загруженностью дорог). Этот тип позволяет получить расчетное время в пути, которое, скорее всего, будет больше фактического времени в пути в большинстве дней. В дни с особенно плохими условиями на дорогах время в пути может превышать это значение.OPTIMISTIC– возвращаемое вduration_in_trafficзначение рассчитывается на основе статистики загруженности дорог в дни с низкой загруженностью. Этот тип позволяет получить расчетное время в пути, которое, скорее всего, будет меньше фактического времени в пути в большинстве дней. В отдельные дни с особенно благоприятными условиями поездка может быть быстрее.
Пример:
"trafficModel": "OPTIMISTIC"
Укажите поле
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"