ניתוב לרכבים גדולים הוא קבוצה של מאפיינים שמאפשרים לכם לבצע אופטימיזציה של מסלולי צי רכבים לרכבים גדולים, על ידי ציון המידות הפיזיות, המשקל ומספר הנגררים. ממשק ה-API משתמש במאפיינים האלה כדי לחשב נתיבים אפשריים שבהם נמנעים מכבישים עם הגבלות, מגשרים נמוכים או מנתיבים עם הגבלות משקל.
בעזרת ניתוב לרכבים גדולים, אתם יכולים לפתור אתגרים לוגיסטיים בניהול צי רכב של רכבים כבדים וגדולים, למשל:
- הימנעות מסכנות בכביש: יצירת תוכניות מסלול שמכוונות את כלי הרכב כך שיעקפו גשרים עם מרווח גחון נמוך, כבישים עם הגבלות משקל וסכנות פיזיות אחרות.
- ציון פרטים על כלי הרכב: שילוב של מידות מדויקות, משקל כולל, מספר סרנים והגדרות נגרר בתוכניות מסלול לכל צי הרכב.
- שיפור התכנון של צי המשאיות: יצירת תוכניות מסלולים יעילות לכל צי המשאיות, תוך הקפדה על כך שכל המשימות יתאימו למגבלות הפיזיות של הכבישים.
- הפעלת ניווט מפורט: יוצרים טוקנים של מסלולים למסלולי צי רכב שעברו אופטימיזציה ומעבירים אותם אל Navigation SDK כדי להנחות את הנהגים באמצעות ניווט מפורט שמותאם לכלי רכב גדולים.
מגבלות
לפני שמתחילים, חשוב להכיר את המגבלות והדרישות הבאות.
- זמינות גיאוגרפית: תכנון מסלולים לרכבים גדולים זמין רק ב-48 המדינות הרציפות של ארה"ב.
- המלצות לנהגים ובטיחות: הנהגים לא יכולים להסתמך רק על המסלולים שמוחזרים על ידי ה-API הזה כדי להבטיח בטיחות או חוקיות. אין ערובה לכך שהמסלולים יתאימו לכלי הרכב, ויכול להיות שהנהגים ייחשפו לסכנות כמו גשרים נמוכים או כבישים שאסור לכלי רכב גדולים לנסוע בהם.
- מסלולים במאמץ מרבי: במקרים מסוימים, ה-API לא יכול למצוא מסלול שעומד באופן מלא בהגבלות הנסיעה. במקום זאת, המערכת מחזירה מסלול 'במאמץ הכי טוב' שעשוי עדיין לעבור באזורים מוגבלים.
- תכונות שלא נתמכות: התכונות הבאות לא נתמכות בניווט לרכבים גדולים:
- מחירי אגרה למשאיות
- מגבלות מהירות
- מסלול לחומרים רדיואקטיביים מסוכנים
- חיוב: Google מחייבת את כל הבקשות ל-
optimizeToursבאופן אחיד, גם אם הבקשות מגדירות מאפיינים של מסלולים לרכבים גדולים. - מסלולים למרחקים ארוכים: מסלולים למרחקים ארוכים של משאיות, באורך של 500 ק"מ או יותר, דורשים יותר זמן חישוב ממסלולים קצרים יותר, ויכול להיות שהם יחזירו נתוני מסלול באיכות נמוכה יותר. כדי לשמור על איכות המסלול, כדאי להגביל את המרחקים בין המשלוחים, בין נקודות ההתחלה של כלי הרכב ובין נקודות הסיום של כלי הרכב. אם אתם צריכים מסלולים ארוכים, כדאי להאריך את המועדים האחרונים של הבקשות כדי להקטין את הסיכוי לשגיאות
DEADLINE_EXCEEDED.
מאפיינים
כדי להשתמש במאפייני ניתוב לרכבים גדולים, צריך להגדיר רכב עם המידות הפיזיות שלו ולהגדיר את מצב הניתוב שלו למשאית.
בטבלה הבאה מפורטים המאפיינים ברמה העליונה להגדרת מסלולים לרכבים גדולים:
| נכס | סוג | דרישה | תיאור |
|---|---|---|---|
travelMode |
מחרוזת | חובה | מציין את אמצעי התחבורה של הרכב. כדי להפעיל את המאפיינים של ניתוב כלי רכב גדולים, מגדירים את הערך הזה ל-TRUCK. |
routeModifiers |
אובייקט | חובה | מכיל הגדרות ספציפיות למסלול, כולל vehicleInfo. |
vehicleInfo
אובייקט vehicleInfo מכיל את המפרט הפיזי של הרכב. מגדירים את האובייקט הזה במאפיין routeModifiers.
חובה לספק את אובייקט vehicleInfo אם מגדירים את travelMode כ-TRUCK.
בטבלה הבאה מפורטים המאפיינים שזמינים באובייקט vehicleInfo:
| נכס | סוג | דרישה | תיאור |
|---|---|---|---|
totalHeightMm |
מספר שלם | חובה | מציין את הגובה הכולל של הרכב במילימטרים. הערך חייב להיות מספר שלם חיובי. |
totalWidthMm |
מספר שלם | חובה | מציין את הרוחב הכולל של הרכב במילימטרים. הערך חייב להיות מספר שלם חיובי. |
totalWeightKg |
מספר שלם | חובה | מציין את המשקל הכולל של הרכב בקילוגרמים. הערך חייב להיות מספר שלם חיובי. |
totalLengthMm |
מספר שלם | חובה | מציין את האורך הכולל של הרכב במילימטרים. הערך חייב להיות מספר שלם חיובי. |
trailerInfo |
מערך | אופציונלי | מכיל מערך של מפרטי טריילרים, כולל המאפיין lengthMm לציון האורך של כל טריילר במילימטרים. |
totalAxleCount |
מספר שלם | חובה | מציין את מספר הסרנים הכולל ברכב. הערך הזה חייב להיות מספר שלם שגדול מ-2 או שווה לו. |
דוגמאות
בקטע הזה יש שתי דוגמאות:
- דוגמת קוד שממחישה את המבנה של ניתוב רכבים גדולים.
- דוגמה לבקשה שכוללת את התכונה.
דוגמת קוד
בדוגמה הבאה מוצג מבנה המאפיינים שמשמשים לתכנון מסלול לרכב גדול:
"vehicles": [ { "travelMode": "TRUCK", "routeModifiers": { "vehicleInfo": { "totalHeightMm": TOTAL_HEIGHT_MM, "totalWidthMm": TOTAL_WIDTH_MM, "totalWeightKg": TOTAL_WEIGHT_KG, "totalLengthMm": TOTAL_LENGTH_MM, "trailerInfo": [ { "lengthMm": TRAILER_LENGTH_MM } ], "totalAxleCount": TOTAL_AXLE_COUNT } } } ]
דוגמה לבקשה
בדוגמה הבאה מוצג המבנה של בקשת optimizeTours בסיסית שמשלבת ניתוב של כלי רכב גדולים:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 40.953523, "longitude": -72.2277846 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 40.9546673, "longitude": -72.2580151 } } ] } ], "vehicles": [ { "travelMode": "TRUCK", "routeModifiers": { "vehicleInfo": { "totalHeightMm": 4000, "totalWidthMm": 2500, "totalWeightKg": 9000, "totalLengthMm": 20000, "trailerInfo": [ { "lengthMm": 15000 } ], "totalAxleCount": 5 } }, "costPerKilometer": 1.0 } ] } }
המאמרים הבאים
- הצגת הנחיות ניווט מפורטות: כאן מוסבר איך להעביר את
routeTokenשמוחזר עבור כל מעבר אל Navigation SDK ל-Android או ל-iOS. - יצירת קווים פוליגוניים של מעבר וטוקנים של מסלולים: במאמר קווים פוליגוניים של מעבר וטוקנים של מסלולים מוסבר איך לבקש טוקנים של מסלולים באמצעות
populateTransitionPolylines. - מאמרי העזרה של ה-API: אפשר לעיין ברשימה המלאה של השדות ב
optimizeToursreference.