Wyznaczanie tras dla dużych pojazdów

Wyznaczanie tras dla pojazdów wielkogabarytowych to zestaw właściwości, które pozwalają optymalizować trasy floty pojazdów wielkogabarytowych 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.

Dzięki wyznaczaniu tras dla pojazdów wielkogabarytowych możesz rozwiązywać problemy logistyczne floty pojazdów ciężkich i wielkogabarytowych, na przykład:

  • Unikanie zagrożeń na drodze: generowanie planów tras, które kierują pojazdy z dala od niskich przejazdów, dróg z ograniczeniami wagi i innych zagrożeń fizycznych.
  • Określanie szczegółowych informacji o pojeździe: uwzględnianie dokładnych wymiarów, masy całkowitej, liczby osi i konfiguracji przyczep w planach tras dla całej floty.
  • Ulepszanie planowania dla całej floty: tworzenie wydajnych planów tras dla całej floty ciężarówek przy jednoczesnym zapewnieniu, że wszystkie zadania są zgodne z fizycznymi ograniczeniami drogowymi.

Ograniczenia

Zanim zaczniesz, musisz zapoznać się z tymi ograniczeniami i wymaganiami.

  • Dostępność geograficzna: wyznaczanie tras dla pojazdów wielkogabarytowych jest dostępne tylko w kontynentalnej części Stanów Zjednoczonych.
  • Informacje dla kierowcy i bezpieczeństwo: kierowcy nie mogą polegać wyłącznie na trasach zwracanych przez ten interfejs API, aby zapewnić bezpieczeństwo lub zgodność z przepisami. Nie ma gwarancji, że trasy będą odpowiednie dla pojazdu, a ich pokonywanie może narażać kierowców na zagrożenia, takie jak niskie mosty lub drogi, na których obowiązuje zakaz wjazdu pojazdów wielkogabarytowych.
  • Trasy w trybie możliwie najlepszej obsługi: 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ę w trybie „możliwie najlepszej obsługi”, która może przebiegać przez obszary objęte ograniczeniami.
  • Nieobsługiwane funkcje: wyznaczanie tras dla pojazdów wielkogabarytowych nie obsługuje tych funkcji:
    • ceny za przejazd ciężarówką;
    • ograniczenia prędkości;
    • wyznaczanie tras dla radioaktywnych materiałów niebezpiecznych.
  • Rozliczenia: Google rozlicza wszystkie żądania optimizeTours w jednolity sposób, niezależnie od tego, czy żądania konfigurują właściwości wyznaczania tras dla pojazdów wielkogabarytowych.
  • Trasy długodystansowe: trasy długodystansowe dla ciężarówek o długości 500 km lub większej wymagają więcej czasu na obliczenia niż krótsze trasy i mogą zwracać dane o trasach niższej jakości. Aby zachować jakość trasy, ogranicz odległości między dostawami, lokalizacjami początkowymi pojazdów i lokalizacjami końcowymi pojazdów. Jeśli potrzebujesz długich tras, zwiększ limity czasu na żądanie, aby zmniejszyć prawdopodobieństwo wystąpienia błędów DEADLINE_EXCEEDED.

Właściwości

Aby korzystać z właściwości wyznaczania tras dla pojazdów wielkogabarytowych, musisz skonfigurować pojazd z jego wymiarami fizycznymi i ustawić tryb wyznaczania tras na ciężarówkę.

W tej tabeli znajdziesz właściwości najwyższego poziomu służące do konfigurowania wyznaczania tras dla pojazdów wielkogabarytowych:

Właściwość Typ Wymaganie Opis
travelMode tekst Wymagane Określa tryb podróży dla pojazdu. Aby włączyć właściwości wyznaczania tras dla pojazdów wielkogabarytowych, ustaw tę wartość na TRUCK.
routeModifiers obiekt Wymagane Zawiera konfiguracje specyficzne dla trasy, w tym vehicleInfo.

vehicleInfo

Obiekt vehicleInfo zawiera specyfikację fizyczną pojazdu. Zdefiniuj ten obiekt we właściwości routeModifiers. Jeśli ustawisz travelMode na TRUCK, musisz podać obiekt vehicleInfo.

W tej tabeli znajdziesz właściwości dostępne w vehicleInfo obiekcie:

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 całkowitą masę 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 przyczep, która obejmuje właściwość lengthMm określającą 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

Ten przykład pokazuje strukturę właściwości używanych do wyznaczania tras dla pojazdów wielkogabarytowych:

"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

Ten przykład pokazuje strukturę podstawowego optimizeTours żądania obejmującego wyznaczanie tras dla pojazdów wielkogabarytowych:

{
  "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
      }
    ]
  }
}