Wyznaczanie tras dla dużych pojazdów to zestaw właściwości, które umożliwiają optymalizację tras floty pod kątem dużych pojazdów przez określenie wymiarów fizycznych, wagi i liczby przyczep. Interfejs API używa tych atrybutów do obliczania możliwych tras, które omijają drogi z ograniczeniami, niskie mosty lub trasy z ograniczeniami wagi.
Wyznaczanie tras dla dużych pojazdów pozwala rozwiązywać problemy logistyczne związane z flotą ciężkich i dużych pojazdów, na przykład:
- Omijanie zagrożeń na drodze: generowanie planów tras, które omijają niskie przejazdy, drogi z ograniczeniami wagi i inne zagrożenia fizyczne.
- Podawanie szczegółowych informacji o pojeździe: uwzględniaj w planach tras dla całej floty dokładne wymiary, łączną masę, liczbę osi i konfiguracje przyczep.
- Ulepsz planowanie dla całej floty: twórz efektywne plany tras dla całej floty ciężarówek, zapewniając jednocześnie, że wszystkie zadania są zgodne z fizycznymi ograniczeniami drogowymi.
- Włączanie szczegółowej nawigacji: generuj tokeny tras dla zoptymalizowanych tras flotowych i przekazuj je do pakietu Navigation SDK, aby prowadzić kierowców za pomocą nawigacji dostosowanej do dużych pojazdów.
Ograniczenia
Zanim zaczniesz, musisz zapoznać się z tymi ograniczeniami i wymaganiami.
- Dostępność geograficzna: wyznaczanie tras dla dużych pojazdów jest dostępne tylko w 48 sąsiadujących ze sobą stanach USA.
- Porady i bezpieczeństwo kierowców: kierowcy nie powinni polegać wyłącznie na trasach zwracanych przez ten interfejs API, aby zapewnić bezpieczeństwo i zgodność z przepisami. Trasy nie zawsze są odpowiednie dla danego pojazdu, a podążanie nimi może narazić kierowców na niebezpieczeństwa, takie jak niskie mosty lub drogi, na których duże pojazdy są niedozwolone.
- Trasy wyznaczane z największą starannością: w niektórych przypadkach interfejs API nie może znaleźć trasy, która w pełni spełnia ograniczenia dotyczące podróży. Zamiast tego zwraca trasę „możliwie najlepszą”, która może nadal przebiegać przez obszary z ograniczeniami.
- Nieobsługiwane funkcje: wyznaczanie tras dla dużych pojazdów nie obsługuje tych funkcji:
- Opłaty za przejazd dla ciężarówek
- Ograniczenia prędkości
- Trasa dla materiałów niebezpiecznych radioaktywnych
- Rozliczenia: Google rozlicza wszystkie żądania
optimizeToursw jednolity sposób, niezależnie od tego, czy żądania konfigurują właściwości routingu dla dużych pojazdów. - Trasy długodystansowe: trasy dla ciężarówek o długości 500 km lub większej wymagają więcej czasu obliczeniowego niż krótsze trasy i mogą zwracać dane o trasie o niższej jakości. Aby utrzymać jakość trasy, ogranicz odległości między przesyłkami, lokalizacjami początkowymi pojazdów i lokalizacjami końcowymi pojazdów. Jeśli potrzebujesz długich tras, wydłuż terminy przesyłania próśb, aby zmniejszyć prawdopodobieństwo wystąpienia błędów
DEADLINE_EXCEEDED.
Właściwości
Aby korzystać z właściwości routingu dużych pojazdów, musisz skonfigurować pojazd, podając jego wymiary fizyczne i ustawiając tryb routingu na ciężarówkę.
W tabeli poniżej znajdziesz właściwości najwyższego poziomu służące do konfigurowania wyznaczania tras dla dużych pojazdów:
| Właściwość | Typ | Wymaganie | Opis |
|---|---|---|---|
travelMode |
tekst | Wymagane | Określa środek transportu pojazdu. Aby włączyć właściwości routingu dużych pojazdów, ustaw tę wartość na TRUCK. |
routeModifiers |
obiekt | Wymagane | Zawiera konfiguracje dotyczące konkretnych tras, w tym vehicleInfo. |
vehicleInfo
Obiekt vehicleInfo zawiera specyfikację fizyczną pojazdu. Zdefiniuj ten obiekt we właściwości routeModifiers.
Podanie obiektu vehicleInfo jest wymagane, jeśli ustawisz wartość travelMode na TRUCK.
W tej tabeli znajdziesz listę właściwości dostępnych w obiekcie vehicleInfo:
| Właściwość | Typ | Wymaganie | Opis |
|---|---|---|---|
totalHeightMm |
liczba całkowita | Wymagane | Określa całkowitą wysokość pojazdu w milimetrach. Ta wartość musi być dodatnią liczbą całkowitą. |
totalWidthMm |
liczba całkowita | Wymagane | Określa całkowitą szerokość pojazdu w milimetrach. Ta wartość musi być dodatnią liczbą całkowitą. |
totalWeightKg |
liczba całkowita | Wymagane | Określa łączną wagę pojazdu w kilogramach. Ta wartość musi być dodatnią liczbą całkowitą. |
totalLengthMm |
liczba całkowita | Wymagane | Określa całkowitą długość pojazdu w milimetrach. Ta wartość musi być dodatnią liczbą całkowitą. |
trailerInfo |
tablica | Opcjonalny | Zawiera tablicę specyfikacji przyczepy, w tym właściwość lengthMm, która określa długość każdej przyczepy w milimetrach. |
totalAxleCount |
liczba całkowita | Wymagane | Określa łączną liczbę osi w pojeździe. Ta wartość musi być liczbą całkowitą większą lub równą 2. |
Przykłady
W tej sekcji znajdziesz 2 rodzaje przykładów:
- Przykładowy kod, który ilustruje strukturę wyznaczania tras dla dużych pojazdów.
- Przykładowe żądanie, które zawiera tę funkcję.
Przykładowy kod
Poniższy przykład pokazuje strukturę właściwości używanych do wyznaczania tras dla dużych pojazdów:
"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 } } } ]
Przykładowe żądanie
Poniższy przykład pokazuje strukturę podstawowego żądania optimizeTours z uwzględnieniem wyznaczania tras dla dużych pojazdów:
{ "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 } ] } }
Co dalej?
- Zapewnianie szczegółowej nawigacji: dowiedz się, jak przekazywać wartość
routeTokenzwracaną dla każdego przejścia do pakietu Navigation SDK na Android lub iOS. - Generowanie linii łamanych przejścia i tokenów trasy: dowiedz się, jak wysyłać żądania tokenów trasy za pomocą
populateTransitionPolylinesw artykule Linie łamane przejścia i tokeny trasy. - Dokumentacja API: pełną listę pól znajdziesz w
optimizeToursdokumentacji.