מודלים של תנועה משתמשים באלגוריתמים ובגורמים ספציפיים כדי לחזות איך תנאי התנועה ישפיעו על זמן הנסיעה הכולל במסלול נתון. ב-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")
כשמשתמשים ב-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"