La optimización de flota para vehículos grandes es un conjunto de propiedades que te permite optimizar las rutas de la flota para vehículos grandes especificando las dimensiones físicas, el peso y la cantidad de remolques. La API usa estos atributos para calcular rutas factibles que eviten caminos restringidos, puentes bajos o rutas con límite de peso.
Con la planificación de rutas para vehículos grandes, puedes resolver desafíos logísticos de flotas para vehículos pesados y grandes, por ejemplo:
- Evita los peligros en la ruta: Genera planes de rutas que alejan los vehículos de las áreas con poca altura libre, las rutas con restricciones de peso y otros peligros físicos.
- Especifica información detallada del vehículo: Incorpora dimensiones precisas, peso total, recuentos de ejes y configuraciones de remolque en los planes de rutas para toda la flota.
- Mejora la planificación de toda la flota: Crea planes de rutas eficientes para toda tu flota de camiones y, al mismo tiempo, asegúrate de que todas las asignaciones cumplan con las restricciones físicas de las rutas.
- Habilita la navegación paso a paso: Genera tokens de ruta para las rutas optimizadas de la flota y pásalos al SDK de Navigation para guiar a los conductores con una navegación específica para vehículos grandes.
Limitaciones
Antes de comenzar, debes tener en cuenta las siguientes limitaciones y requisitos.
- Disponibilidad geográfica: La planificación de rutas para vehículos grandes solo está disponible en los 48 estados contiguos de Estados Unidos.
- Seguridad y asesoramiento para conductores: Los conductores no deben confiar únicamente en las rutas que devuelve esta API para garantizar su seguridad o legalidad. No se garantiza que las rutas sean adecuadas para el vehículo, y seguirlas puede exponer a los conductores a peligros, como puentes bajos o rutas en las que se prohíben los vehículos grandes.
- Rutas de mejor esfuerzo: En algunos casos, la API no puede encontrar una ruta que cumpla con todas las restricciones de viaje. En cambio, devuelve una ruta de "mejor esfuerzo" que aún puede atravesar áreas restringidas.
- Funciones no admitidas: La planificación de rutas para vehículos grandes no admite lo siguiente:
- Precios de peaje para camiones
- Límites de velocidad
- Rutas para materiales peligrosos radioactivos
- Facturación: Google factura todas las solicitudes de
optimizeToursde manera uniforme, independientemente de si las solicitudes configuran propiedades de enrutamiento de vehículos grandes. - Rutas de larga distancia: Las rutas de camiones de larga distancia que abarcan 500 kilómetros o más requieren más tiempo de procesamiento que las rutas más cortas y podrían devolver datos de ruta de menor calidad. Para mantener la calidad de las rutas, limita las distancias entre los envíos, las ubicaciones de partida de los vehículos y las ubicaciones de destino de los vehículos. Si necesitas rutas largas, aumenta los plazos de tus solicitudes para reducir la probabilidad de errores
DEADLINE_EXCEEDED.
Propiedades
Para usar las propiedades de enrutamiento de vehículos grandes, debes configurar un vehículo con sus dimensiones físicas y establecer su modo de enrutamiento como camión.
En la siguiente tabla, se enumeran las propiedades de nivel superior para configurar la planificación de rutas de vehículos grandes:
| Propiedad | Tipo | Requisito | Descripción |
|---|---|---|---|
travelMode |
string | Obligatorio | Especifica el modo de viaje del vehículo. Para habilitar las propiedades de enrutamiento de vehículos grandes, establece este valor en TRUCK. |
routeModifiers |
objeto | Obligatorio | Contiene parámetros de configuración específicos de la ruta, incluido vehicleInfo. |
vehicleInfo
El objeto vehicleInfo contiene las especificaciones físicas del vehículo. Define este objeto dentro de la propiedad routeModifiers.
Se requiere proporcionar el objeto vehicleInfo si configuras travelMode en TRUCK.
En la siguiente tabla, se enumeran las propiedades disponibles en el objeto vehicleInfo:
| Propiedad | Tipo | Requisito | Descripción |
|---|---|---|---|
totalHeightMm |
integer | Obligatorio | Especifica la altura total del vehículo en milímetros. El valor debe ser un número entero positivo. |
totalWidthMm |
integer | Obligatorio | Especifica el ancho total del vehículo en milímetros. El valor debe ser un número entero positivo. |
totalWeightKg |
integer | Obligatorio | Especifica el peso total del vehículo en kilogramos. El valor debe ser un número entero positivo. |
totalLengthMm |
integer | Obligatorio | Especifica la longitud total del vehículo en milímetros. El valor debe ser un número entero positivo. |
trailerInfo |
array | Opcional | Contiene un array de especificaciones de remolques, que incluye la propiedad lengthMm para especificar la longitud de cada remolque individual en milímetros. |
totalAxleCount |
integer | Obligatorio | Especifica la cantidad total de ejes del vehículo. Este valor debe ser un número entero mayor o igual que 2. |
Ejemplos
En esta sección, se abarcan dos tipos de ejemplos:
- Muestra de código que ilustra la estructura del enrutamiento de vehículos grandes.
- Un ejemplo de solicitud que incluye la función
Muestra de código
En el siguiente ejemplo, se muestra la estructura de las propiedades que se usan para la ruta de vehículos grandes:
"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 } } } ]
Ejemplo de solicitud
En el siguiente ejemplo, se muestra la estructura de una solicitud básica de optimizeTours que incorpora el enrutamiento de vehículos grandes:
{ "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 } ] } }
¿Qué sigue?
- Proporciona navegación paso a paso: Aprende a pasar el objeto
routeTokenque se devuelve para cada transición al SDK de Navigation para Android o iOS. - Genera polilíneas de transición y tokens de ruta: Aprende a solicitar tokens de ruta con
populateTransitionPolylinesen Polilíneas de transición y tokens de ruta. - Referencia de la API: Consulta la lista completa de campos en la referencia de
optimizeTours.