הגדרת הרמה של נתוני התנועה

מפתחים באזור הכלכלי האירופי (EEA)

העדפות התנועה שבוחרים מאזנות בין הדיוק של פרטי המסלול לבין ביצועי הבקשה באחת משתי דרכים:

  • Traffic aware – הצגת התוצאות המדויקות ביותר האפשריות (זמן אחזור ארוך יותר).

  • ללא התחשבות בתנועה – הצגת התוצאות במהירות האפשרית (זמן אחזור קצר ביותר).

כששולחים בקשה, צריך לשקול אם עדיף להחזיר את התוצאות המדויקות ביותר האפשריות או להחזיר תוצאות מהר ככל האפשר. ב-Routes API יש אפשרויות שמאפשרות לכם לקבוע את איכות נתוני התגובה לעומת זמן האחזור של התגובה.

איך מגדירים את רמת התנועה

ב-Routes API יש את האפשרויות RoutingPreference (ל-REST) ו-RoutingPreference (ל-gRPC) שמאפשרות לציין העדפות ניתוב לחישוב מסלולים.

ברירת המחדל היא תוצאות ללא נתוני תנועה. אפשר לבחור אפשרויות תעבורה באמצעות העדפות הניתוב TRAFFIC_UNAWARE, ‏ TRAFFIC_AWARE ו-TRAFFIC_AWARE_OPTIMAL. כל העדפת ניתוב מניבה תוצאות שונות באיכות המסלול, בזמן ההגעה המשוער ובזמן האחזור של התגובה.

מצב התנועה

מצב התנועה מאופיין לפי קצב זרימת התנועה:

  • תנועה רגילה: אין עומס תנועה והתנועה זורמת במהירות רגילה.

  • תנועה קלה עד בינונית: עומס תנועה הולך וגובר, והתנועה זורמת במהירות מופחתת.

  • עומס תנועה כבד: עומס כבד מאוד, עם מהירות תנועה נמוכה מאוד.

תנועה לא מודעת

TRAFFIC_UNAWARE היא הגדרת ברירת המחדל. כדאי להשתמש בהעדפת הניתוב הזו כשרוצים לקבל את התשובות במהירות האפשרית, ופרטי הניתוב המשוערים מספיקים.

המסלולים מסוג TRAFFIC_UNAWARE מחושבים בלי להביא בחשבון את תנאי התנועה הנוכחיים. העדפת הניתוב הזו מניבה את התגובה המהירה ביותר לבקשה (זמן האחזור הנמוך ביותר).

אם בוחרים באפשרות TRAFFIC_UNAWARE, המסלול והמשך הזמן שנבחרים מבוססים על רשת הכבישים ועל תנאי התנועה הממוצעים שאינם תלויים בזמן, ולא על תנאי הכביש הנוכחיים. כתוצאה מכך, המסלולים עשויים לכלול כבישים שסגורים באופן זמני. התוצאות של בקשה מסוימת עשויות להשתנות לאורך זמן עקב שינויים ברשת הכבישים, עדכונים של תנאי התנועה הממוצעים והאופי המבוזר של השירות. התוצאות עשויות גם להשתנות בין מסלולים דומים כמעט בכל שלב או תדירות.

אלה התשובות שיוצגו:

  • duration – מכיל את זמן ההגעה המשוער למסלול.

  • staticDuration: זמן ההגעה המשוער למסלול, שמבוסס רק על נתוני תנועה היסטוריים. בשביל TRAFFIC_UNAWARE, הערך הזה מכיל את אותו ערך כמו duration.

התראות על מצב התנועה

כדאי להשתמש בהעדפת הניתוב הזו כשרוצים לקבל פרטי ניתוב מדויקים יותר מ-TRAFFIC_UNAWARE, אבל לא משנה אם זמן האחזור של התשובות יגדל במידה מתונה.

כשמגדירים את העדפת המסלול TRAFFIC_AWARE, השירות מחשב את המסלול בהתאם לתנאי התנועה הנוכחיים. כתוצאה מכך, המסלול ופרטי המסלול משקפים בצורה מדויקת יותר את התנאים בעולם האמיתי. העלייה באיכות הנתונים הזו מתבצעת על חשבון זמן האחזור של התגובה, ולכן אנחנו מחילים אופטימיזציות של ביצועים כדי לצמצם את זמן האחזור.

אלה התשובות שיוצגו:

  • duration: זמן ההגעה המשוער, בהתאם למידע על מצב התנועה בזמן אמת.

  • staticDuration זמן ההגעה המשוער למסלול, לפי נתוני תנועה היסטוריים בלבד.

אופטימלי עם התחשבות בתנועה

כדאי להשתמש בהעדפת הניתוב הזו כשרוצים לקבל תוצאות באיכות הגבוהה ביותר, ללא קשר למשך הזמן שלוקח לקבל את התשובות. לאפשרות הניתוב הזו יש זמן האחזור הארוך ביותר להחזרת תשובות (זמן האחזור הגבוה ביותר).

כשמגדירים את העדפת הניתוב TRAFFIC_AWARE_OPTIMAL, השירות מחשב את המסלול בהתאם לתנאי התנועה הנוכחיים, אבל לא מחיל אופטימיזציות של ביצועים. במצב הזה, השרת מבצע חיפוש מקיף יותר של רשת הכבישים כדי למצוא את המסלול האופטימלי.

העדפת המסלול TRAFFIC_AWARE_OPTIMAL זהה למצב שבו נעשה שימוש ב-maps.google.com ובאפליקציה לנייד של מפות Google.

כשמשתמשים באפשרות הזו עם Compute Route Matrix, מספר הרכיבים בבקשה (מספר מקורות x מספר יעדים) לא יכול לחרוג מ-

  1. מידע נוסף על המגבלות של Compute Route Matrix זמין במאמר חישוב מטריצה של נתיבי עיבוד נתונים.

אלה התשובות שיוצגו:

  • duration: זמן ההגעה המשוער למסלול, בהתאם למידע על מצב התנועה בזמן אמת.

  • staticDuration: זמן ההגעה המשוער למסלול, שמבוסס רק על נתוני תנועה היסטוריים.

הגדרת שעת יציאה (אופציונלי)

צריך להשתמש במאפיין הזה רק לבקשות עם התחשבות בתנועה, שבהן זמן היציאה צריך להיות בעתיד. אם לא מגדירים את המאפיין departureTime, ברירת המחדל היא השעה שבה הבקשה נשלחת.

משתמשים במאפיין departureTime יחד עם האפשרויות TRAFFIC_AWARE ו-TRAFFIC_AWARE_OPTIMAL כשרוצים לשנות את האופן שבו השירות מנבא את התנועה בזמן בחירת המסלול.

  • TRAFFIC_UNAWARE: לא מומלץ כי בחירת המסלול והמשך הנסיעה מבוססים על רשת הכבישים ועל תנאי התנועה הממוצעים שאינם תלויים בזמן.

  • TRAFFIC_AWARE ו-TRAFFIC_AWARE_OPTIMAL: מומלץ ליציאות שצפויות בעתיד הקרוב, כי ההעדפות האלה מביאות בחשבון את תנאי התנועה בזמן אמת. ככל שהזמן departureTime קרוב יותר ל'עכשיו', כך תנועת הגולשים בזמן אמת הופכת להיות חשובה ורלוונטית יותר. ככל שמגדירים מועד יציאה לטווח זמן ארוך יותר, כך המערכת מביאה בחשבון יותר את תנאי התנועה ההיסטוריים בבחירת המסלולים.

דוגמה: איך בוחרים ניתוב שמתחשב בתנועה

קוד ה-JSON הבא מדגים איך להגדיר את העדפת הניתוב TRAFFIC_AWARE_OPTIMAL בגוף הישות של הודעת הבקשה.

{
  "origin":{
    "location":{
      "latLng":{
        "latitude":37.419734,
        "longitude":-122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":37.417670,
        "longitude":-122.079595
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE_OPTIMAL"
}