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

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

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

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

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

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