Modele ruchu korzystają z określonych algorytmów i czynników, aby przewidywać, jak warunki ruchu wpływają na łączny czas przejazdu na danej trasie. Interfejs Routes API oferuje różne typy modeli ruchu, aby nadawać priorytety różnym czynnikom używanym do obliczania czasu trwania ruchu. Możesz określić typ modelu ruchu, którego trasy chcesz używać do obliczania czasu trwania tras lub macierzy tras. Gdy ustawisz typ modelu ruchu, wartość zwrócona w polu duration
będzie się różnić w zależności od wybranego modelu ruchu.
Zarówno metody interfejsu Routes API Compute Routes
, jak i Compute Route Matrix
obsługują modele ruchu.
Domyślnie obie metody używają modelu ruchu BEST_GUESS
.
Aby określić typ ruchu:
Ustaw miejsce początkowe i miejsce docelowe.
Jeśli czas wyjazdu jest w przyszłości, podaj go za pomocą parametru
departure_time
. Jeśli nie podasz godziny wyjazdu, zostanie ona ustawiona domyślnie na bieżącą.Wybierz model ruchu, który ma być używany z parametrem
trafficModel
, spośród tych typów:BEST_GUESS
(domyślnie) – aby zwrócić wartośćduration_in_traffic
będącą najlepszą estymacją czasu podróży na podstawie znanych informacji o historycznych warunkach ruchu i aktualnym natężeniu ruchu. Im bliżej do datydeparture_time
, tym większy wpływ na wyniki ma ruch na żywo. Użycie domyślnego typuBEST_GUESS
zapewnia najbardziej przydatne prognozy w przypadku większości przypadków użycia.PESSIMISTIC
, aby zwrócić modelduration_in_traffic
na podstawie historycznych warunków ruchu w dni z niekorzystnym ruchem. Ten typ podaje przewidywany czas, który jest dłuższy niż rzeczywisty czas podróży w większości dni. W przypadku dni o szczególnie niesprzyjających warunkach może się to jednak nie sprawdzić.OPTIMISTIC
, aby zwrócić modelduration_in_traffic
czasu na podstawie historycznych warunków ruchu w dni z dobrym ruchem. Ten typ podaje szacowany czas trwania, który jest krótszy od rzeczywistego czasu podróży w większości dni. Czasami w wyjątkowych warunkach czas ten może być krótszy.
Na przykład:
"trafficModel": "OPTIMISTIC"
BEST_GUESS
W polu maski pola określ pole
routes.duration
.REST
-H X-Goog-FieldMask: routes.duration
RPC
const (fieldMask = "routes.duration")
Gdy interfejs Routes API szacuje czas spędzony w korkach, używa typu modelu ruchu, którego dotyczy Twoje żądanie.
Przykład: żądanie dotyczące modelu ruchu
Na przykład w tym żądaniu określono, że czas trwania ma być szacowany za pomocą typu modelu ruchu OPTIMISTIC
w określonym czasie wyjazdu:
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'
To zapytanie zwraca szacowany czas trwania, korzystając z tego typu modelu natężenia ruchu: OPTIMISTIC
.
"duration": "1238s"
Jeśli zmienisz typ modelu ruchu na PESSIMISTIC
, zwrócony czas trwania jest dłuższy:
"duration": "2436s"