Wyznaczanie tras dla dużych pojazdów

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 optimizeTours w 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

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ść routeToken zwracaną 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ą populateTransitionPolylines w artykule Linie łamane przejścia i tokeny trasy.
  • Dokumentacja API: pełną listę pól znajdziesz w optimizeToursdokumentacji.