Calcul d'itinéraires pour les véhicules imposants

Le routage pour grands véhicules est un ensemble de propriétés qui vous permettent d'optimiser les itinéraires de votre flotte pour les grands véhicules en spécifiant leurs dimensions physiques, leur poids et le nombre de remorques. L'API utilise ces attributs pour calculer des itinéraires réalisables qui évitent les routes à accès limité, les ponts bas ou les routes à poids limité.

Le routage pour grands véhicules vous permet de résoudre les problèmes de logistique de votre flotte pour les véhicules lourds et grands. Par exemple :

  • Éviter les dangers sur la route : générez des plans d'itinéraire qui éloignent les véhicules des passages à faible hauteur libre, des routes à poids limité et d'autres dangers physiques.
  • Spécifier des informations détaillées sur les véhicules : intégrez des dimensions précises, le poids total, le nombre d'essieux et les configurations de remorque dans les plans d'itinéraire de l'ensemble de la flotte.
  • Améliorer la planification à l'échelle de la flotte : créez des plans d'itinéraire efficaces pour l'ensemble de votre flotte de camions tout en veillant à ce que toutes les affectations respectent les contraintes physiques de la route.

Limites

Avant de commencer, vous devez connaître les limites et exigences suivantes.

  • Disponibilité géographique : le routage pour grands véhicules n'est disponible que dans les 48 États contigus des États-Unis.
  • Conseils et sécurité pour les conducteurs : les conducteurs ne doivent pas se fier uniquement aux itinéraires renvoyés par cette API pour être en sécurité ou respecter la loi. Il n'est pas garanti que les itinéraires soient adaptés au véhicule. En les suivant, les conducteurs peuvent être exposés à des dangers tels que des ponts bas ou des routes où les grands véhicules sont interdits.
  • Itinéraires au mieux : dans certains cas, l'API ne peut pas trouver d'itinéraire qui respecte pleinement les restrictions de circulation. Elle renvoie alors un itinéraire "au mieux" qui peut tout de même traverser des zones à accès limité.
  • Fonctionnalités non compatibles : le routage pour grands véhicules n'est pas compatible avec les éléments suivants :
    • Prix du télépéage pour les camions
    • Limitations de vitesse
    • Routage pour les matières dangereuses radioactives
  • Facturation : Google facture toutes les requêtes optimizeTours de manière uniforme, que les requêtes configurent ou non des propriétés de routage pour grands véhicules.
  • Itinéraires longue distance : les itinéraires de camions longue distance de 500 kilomètres ou plus nécessitent plus de temps de calcul que les itinéraires plus courts et peuvent renvoyer des données d'itinéraire de qualité inférieure. Pour maintenir la qualité des itinéraires, limitez les distances entre les expéditions, les lieux de départ et les lieux d'arrivée des véhicules. Si vous avez besoin d'itinéraires longs, augmentez les délais de vos requêtes pour réduire le risque d'erreurs DEADLINE_EXCEEDED.

Propriétés

Pour utiliser les propriétés de routage pour grands véhicules, vous devez configurer un véhicule avec ses dimensions physiques et définir son mode de routage sur "camion".

Le tableau suivant répertorie les propriétés de premier niveau permettant de configurer le routage pour grands véhicules :

Propriété Type Exigence Description
travelMode chaîne Obligatoire Spécifie le mode de transport du véhicule. Pour activer les propriétés de routage pour grands véhicules, définissez cette valeur sur TRUCK.
routeModifiers objet Obligatoire Contient des configurations spécifiques à l'itinéraire, y compris vehicleInfo.

vehicleInfo

L'objet vehicleInfo contient les spécifications physiques du véhicule. Définissez cet objet dans la propriété routeModifiers. L'objet vehicleInfo est obligatoire si vous définissez travelMode sur TRUCK.

Le tableau suivant répertorie les propriétés disponibles dans l' vehicleInfo objet :

Propriété Type Exigence Description
totalHeightMm entier Obligatoire Spécifie la hauteur totale du véhicule en millimètres. Cette valeur doit être un entier positif.
totalWidthMm entier Obligatoire Spécifie la largeur totale du véhicule en millimètres. Cette valeur doit être un entier positif.
totalWeightKg entier Obligatoire Spécifie le poids total du véhicule en kilogrammes. Cette valeur doit être un entier positif.
totalLengthMm entier Obligatoire Spécifie la longueur totale du véhicule en millimètres. Cette valeur doit être un entier positif.
trailerInfo tableau Facultatif Contient un tableau de spécifications de remorque, qui inclut la propriété lengthMm pour spécifier la longueur de chaque remorque individuelle en millimètres.
totalAxleCount entier Obligatoire Spécifie le nombre total d'essieux du véhicule. Cette valeur doit être un entier supérieur ou égal à 2.

Exemples

Cette section présente deux types d'exemples :

Exemple de code

L'exemple suivant montre la structure des propriétés utilisées pour le routage pour grands véhicules :

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

Exemple de requête

L'exemple suivant montre la structure d'une requête de base optimizeTours intégrant le routage pour grands véhicules :

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