Calcolo di percorsi per veicoli di grandi dimensioni

Il routing per veicoli di grandi dimensioni è un insieme di proprietà che ti consente di ottimizzare le route dei parchi veicoli per i veicoli di grandi dimensioni specificando le dimensioni fisiche, il peso e il numero di rimorchi. L'API utilizza questi attributi per calcolare i percorsi fattibili che evitano strade con limitazioni, ponti bassi o route con limiti di peso.

Con il routing per veicoli di grandi dimensioni, puoi risolvere le sfide logistiche dei parchi veicoli per veicoli pesanti e di grandi dimensioni, ad esempio:

  • Evitare i pericoli stradali: genera piani di route che allontanano i veicoli da spazi liberi verticali bassi, strade con limiti di peso e altri pericoli fisici.
  • Specificare informazioni dettagliate sul veicolo: incorpora dimensioni precise, peso totale, numero di assi e configurazioni dei rimorchi nei piani di route per l'intero parco veicoli.
  • Migliorare la pianificazione dell'intero parco veicoli: crea piani di route efficienti per l'intero parco di autocarri, assicurandoti che tutte le assegnazioni rispettino i vincoli fisici della strada.

Limitazioni

Prima di iniziare, devi essere a conoscenza delle seguenti limitazioni e requisiti.

  • Disponibilità geografica: il routing per veicoli di grandi dimensioni è disponibile solo nei 48 stati contigui degli Stati Uniti.
  • Avvisi e sicurezza per i conducenti: i conducenti non devono fare affidamento esclusivamente sulle route restituite da questa API per essere sicure o legali. Non è garantito che le route siano adatte al veicolo e, se le seguono, i conducenti potrebbero essere esposti a pericoli come ponti bassi o strade in cui i veicoli di grandi dimensioni sono vietati.
  • Route con il criterio del "best effort": in alcuni casi, l'API non riesce a trovare una route che rispetti completamente le limitazioni di viaggio. Restituisce invece una route con il criterio del "best effort" che potrebbe comunque attraversare aree con limitazioni.
  • Funzionalità non supportate: il routing per veicoli di grandi dimensioni non supporta le seguenti funzionalità:
    • Prezzi dei pedaggi per autocarri
    • Limiti di velocità
    • Routing per materiali pericolosi radioattivi
  • Fatturazione: Google fattura tutte le richieste optimizeTours in modo uniforme, indipendentemente dal fatto che le richieste configurino le proprietà di routing per veicoli di grandi dimensioni.
  • Route a lungo raggio: le route per autocarri a lungo raggio che si estendono per 500 o più chilometri richiedono più tempo di calcolo rispetto alle route più brevi e potrebbero restituire dati di route di qualità inferiore. Per mantenere la qualità della route, limita le distanze tra le spedizioni, le località di partenza e di arrivo dei veicoli. Se hai bisogno di route lunghe, aumenta le scadenze delle richieste per ridurre la probabilità di errori DEADLINE_EXCEEDED.

Proprietà

Per utilizzare le proprietà di routing per veicoli di grandi dimensioni, devi configurare un veicolo con le sue dimensioni fisiche e impostare la modalità di routing su autocarro.

La tabella seguente elenca le proprietà di primo livello per la configurazione del routing per veicoli di grandi dimensioni:

Proprietà Tipo Requisito Descrizione
travelMode stringa Obbligatorio Specifica la modalità di viaggio per il veicolo. Per attivare le proprietà di routing per veicoli di grandi dimensioni, imposta questo valore su TRUCK.
routeModifiers oggetto Obbligatorio Contiene configurazioni specifiche della route, inclusa vehicleInfo.

vehicleInfo

L'vehicleInfo oggetto contiene le specifiche fisiche del veicolo. Definisci questo oggetto all'interno della routeModifiers proprietà. Se imposti travelMode su TRUCK, devi fornire l'oggetto vehicleInfo.

La tabella seguente elenca le proprietà disponibili all'interno dell'vehicleInfo oggetto:

Proprietà Tipo Requisito Descrizione
totalHeightMm integer Obbligatorio Specifica l'altezza totale del veicolo in millimetri. Questo valore deve essere un numero intero positivo.
totalWidthMm integer Obbligatorio Specifica la larghezza totale del veicolo in millimetri. Questo valore deve essere un numero intero positivo.
totalWeightKg integer Obbligatorio Specifica il peso totale del veicolo in chilogrammi. Questo valore deve essere un numero intero positivo.
totalLengthMm integer Obbligatorio Specifica la lunghezza totale del veicolo in millimetri. Questo valore deve essere un numero intero positivo.
trailerInfo matrice Facoltativo Contiene una matrice di specifiche del rimorchio, inclusa la proprietà lengthMm per specificare la lunghezza di ogni singolo rimorchio in millimetri.
totalAxleCount integer Obbligatorio Specifica il numero totale di assi del veicolo. Questo valore deve essere un numero intero maggiore o uguale a 2.

Esempi

Questa sezione tratta due tipi di esempi:

Esempio di codice

L'esempio seguente mostra la struttura delle proprietà utilizzate per il routing per veicoli di grandi dimensioni:

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

Esempio di richiesta

L'esempio seguente mostra la struttura di una richiesta di base optimizeTours che incorpora il routing per veicoli di grandi dimensioni:

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