מודלים של תנועה משתמשים באלגוריתמים ובגורמים ספציפיים כדי לחזות איך תנאי התנועה משפיעים על זמן הנסיעה הכולל במסלול נתון. ב-Routes API יש סוגים שונים של מודלים של תנועה, שמאפשרים לתת עדיפות לגורמים שונים שמשמשים לחישוב משך הזמן בתנועה. אתם יכולים לציין את סוג מודל התנועה שבו תרצו להשתמש במסלולים שלכם כשמחשבים את משך הזמן של המסלולים או של מטריצת המסלולים. כשמגדירים את סוג מודל התנועה, הערך שמוחזר בשדה duration
משתנה בהתאם למודל התנועה שבוחרים.
גם השיטות Compute Routes
וגם Compute Route Matrix
של Routes API תומכות בסוגי מודלים של תנועה.
כברירת מחדל, בשתי השיטות נעשה שימוש בסוג מודל התנועה BEST_GUESS
.
כדי לציין סוג תנועה
מגדירים את המוצא ואת היעד.
אם מועד היציאה הוא בעתיד, צריך לכלול את השעה באמצעות הפרמטר
departure_time
. אם לא מציינים שעה ליציאה, השעה שמוגדרת כברירת מחדל היא השעה הנוכחית.בוחרים את מודל התנועה שרוצים להשתמש בו עם הפרמטר
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")
כש-Routes 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"