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

L'optimisation des tournées de véhicules volumineux est un ensemble de propriétés qui vous permet d'optimiser les itinéraires de votre flotte pour les véhicules volumineux en spécifiant les dimensions physiques, le poids et le nombre de remorques. L'API utilise ces attributs pour calculer des itinéraires possibles qui évitent les routes à accès limité, les ponts bas ou les routes à tonnage limité.

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

  • Éviter les dangers sur la route : générer des itinéraires qui éloignent les véhicules des routes avec une hauteur libre limitée, des routes avec une limite de poids et d'autres dangers physiques.
  • Spécifiez 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éraires pour l'ensemble de la flotte.
  • Améliorez la planification pour l'ensemble de votre flotte : créez des plans de tournée efficaces pour l'ensemble de votre flotte de camions tout en veillant à ce que toutes les missions respectent les contraintes physiques des routes.
  • Activer la navigation détaillée : générez des jetons d'itinéraire pour l'optimisation des tournées de véhicules et transmettez-les au SDK Navigation afin de guider les conducteurs avec une navigation spécifique aux véhicules de grande taille.

Limites

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

  • Disponibilité géographique : le routage pour les véhicules de grande taille 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 assurer leur sécurité ou respecter la loi. Il n'est pas garanti que les itinéraires soient adaptés au véhicule. Les conducteurs qui les suivent peuvent être exposés à des dangers tels que des ponts bas ou des routes où les grands véhicules sont interdits.
  • Routes optimisées au mieux : dans certains cas, l'API ne peut pas trouver d'itinéraire qui respecte entièrement les restrictions de circulation. Au lieu de cela, il renvoie un itinéraire "optimisé" qui peut toujours traverser des zones restreintes.
  • Fonctionnalités non compatibles : le routage pour les véhicules de grande taille n'est pas compatible avec les éléments suivants :
    • Prix des péages pour les camions
    • Limitations de vitesse
    • Itinéraire pour les matières radioactives dangereuses
  • Facturation : Google facture toutes les requêtes optimizeTours de manière uniforme, qu'elles configurent ou non des propriétés de planification d'itinéraires pour les véhicules de grande taille.
  • Itinéraires longue distance : les itinéraires de camions longue distance (500 km 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 envois, les lieux de départ des véhicules et les lieux d'arrivée des véhicules. Si vous avez besoin de longs itinéraires, augmentez les délais de vos demandes pour réduire la probabilité d'erreurs DEADLINE_EXCEEDED.

Propriétés

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

Le tableau suivant liste les propriétés de premier niveau permettant de configurer le routage des véhicules de grande taille :

Propriété Type Exigence Description
travelMode chaîne Obligatoire Spécifie le mode de déplacement du véhicule. Pour activer les propriétés de routage des véhicules de grande taille, définissez cette valeur sur TRUCK.
routeModifiers objet Obligatoire Contient des configurations spécifiques aux routes, y compris vehicleInfo.

vehicleInfo

L'objet vehicleInfo contient les caractéristiques physiques du véhicule. Définissez cet objet dans la propriété routeModifiers. Vous devez fournir l'objet vehicleInfo si vous définissez travelMode sur TRUCK.

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

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, y compris la propriété lengthMm pour spécifier la longueur de chaque remorque 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 de véhicules de grande taille :

"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 optimizeTours de base intégrant le routage des véhicules lourds :

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

Étape suivante

  • Fournir une navigation détaillée : découvrez comment transmettre le routeToken renvoyé pour chaque transition au SDK Navigation pour Android ou iOS.
  • Générez des polylignes de transition et des jetons de route : découvrez comment demander des jetons de route à l'aide de populateTransitionPolylines dans Polylignes de transition et jetons de route.
  • Documentation de référence de l'API : consultez la liste complète des champs dans la documentation de référence de optimizeTours.