ציון איך ומתי לכלול נתוני תנועה

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

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

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

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

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

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

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

הגדרת ברירת המחדל היא TRAFFIC_UNAWARE.

בתגובה:

  • זמן האספקה המשוער מופיע במאפיין התשובה duration.

  • מאפייני התשובה duration ו-staticDuration מכילים את אותו ערך.

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

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

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

בתגובה:

  • זמן ההגעה המשוער, שמביא בחשבון את התנועה בזמן אמת, נכלל במאפיין התגובה duration.

  • מאפיין התגובה staticDuration מכיל את משך הנסיעה במסלול בלי להביא בחשבון את מצב התנועה.

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

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

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

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

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

בתשובה:

  • זמן ההגעה המשוער, שמביא בחשבון את התנועה בזמן אמת, נכלל במאפיין התגובה duration.

  • מאפיין התגובה staticDuration מכיל את משך הנסיעה במסלול בלי להביא בחשבון את מצב התנועה.

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

ההשפעה של הגדרת זמן היציאה

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

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

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

דוגמה להגדרת העדפת ניתוב

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

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

הגדרת התנועה בקווים פוליגוניים

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