Otimização de frotas de veículos grandes é um conjunto de propriedades que permite otimizar as rotas da frota para veículos grandes especificando dimensões físicas, peso e contagem de reboques. A API usa esses atributos para calcular caminhos viáveis que evitam vias restritas, pontes baixas ou rotas com limite de peso.
Com o trajeto para veículos grandes, você pode resolver desafios de logística de frotas para veículos pesados e grandes, por exemplo:
- Evitar perigos na via: gerar planos de trajeto que afastam os veículos de vias com baixa altura livre, restrição de peso e outros perigos físicos.
- Especificar informações detalhadas do veículo: incorpore dimensões precisas, peso total, contagem de eixos e configurações de reboque nos planos de rota de toda a frota.
- Melhorar o planejamento em toda a frota: crie planos de rotas eficientes para toda a frota de caminhões, garantindo que todas as atribuições estejam em conformidade com as restrições físicas das vias.
- Ative a navegação guiada: gere tokens de rota para otimização de frotas e transmita-os ao SDK Navigation para orientar os motoristas com navegação específica para veículos grandes.
Limitações
Antes de começar, é preciso estar ciente das seguintes limitações e requisitos.
- Disponibilidade geográfica: o trajeto para veículos grandes está disponível apenas nos 48 estados contíguos dos Estados Unidos.
- Avisos e segurança para motoristas: os motoristas não podem confiar apenas nas rotas retornadas por essa API para garantir a segurança ou a legalidade. Não há garantia de que os trajetos sejam adequados para o veículo. Segui-los pode expor os motoristas a riscos, como pontes baixas ou vias em que veículos grandes são proibidos.
- Melhor trajeto possível: em alguns casos, a API não consegue encontrar um trajeto que atenda totalmente às restrições de viagem. Em vez disso, ela retorna uma rota de "melhor esforço" que ainda pode atravessar áreas restritas.
- Recursos não compatíveis: o trajeto de veículos grandes não é compatível com o seguinte:
- Preços de pedágios para caminhões
- Limites de velocidade
- Roteamento para materiais perigosos radioativos
- Faturamento:o Google fatura todas as solicitações
optimizeToursde maneira uniforme, independente de as solicitações configurarem propriedades de roteamento de veículos grandes. - Rotas de longa distância:rotas de caminhão de longa distância com 500 quilômetros ou mais exigem mais tempo de computação do que rotas mais curtas e podem retornar dados de rota de qualidade inferior. Para manter a qualidade do trajeto, limite as distâncias entre as entregas e os locais de início e término do veículo. Se você precisar de rotas longas, aumente os prazos dos pedidos para reduzir a probabilidade de erros
DEADLINE_EXCEEDED.
Propriedades
Para usar propriedades de roteamento de veículos grandes, configure um veículo com as dimensões físicas e defina o modo de roteamento como caminhão.
A tabela a seguir lista as propriedades de nível superior para configurar o roteamento de veículos grandes:
| Propriedade | Tipo | Requisito | Descrição |
|---|---|---|---|
travelMode |
string | Obrigatório | Especifica o modo de viagem do veículo. Para ativar as propriedades de roteamento de veículos grandes, defina esse valor como TRUCK. |
routeModifiers |
objeto | Obrigatório | Contém configurações específicas da rota, incluindo vehicleInfo. |
vehicleInfo
O objeto vehicleInfo contém as especificações físicas do veículo. Defina esse objeto na propriedade routeModifiers.
É obrigatório fornecer o objeto vehicleInfo se você definir
travelMode como TRUCK.
A tabela a seguir lista as propriedades disponíveis no objeto vehicleInfo:
| Propriedade | Tipo | Requisito | Descrição |
|---|---|---|---|
totalHeightMm |
número inteiro | Obrigatório | Especifica a altura total do veículo em milímetros. O valor precisa ser um número inteiro positivo. |
totalWidthMm |
número inteiro | Obrigatório | Especifica a largura total do veículo em milímetros. O valor precisa ser um número inteiro positivo. |
totalWeightKg |
número inteiro | Obrigatório | Especifica o peso total do veículo em quilogramas. O valor precisa ser um número inteiro positivo. |
totalLengthMm |
número inteiro | Obrigatório | Especifica o comprimento total do veículo em milímetros. O valor precisa ser um número inteiro positivo. |
trailerInfo |
matriz | Opcional | Contém uma matriz de especificações de reboque, que inclui a propriedade lengthMm para especificar o comprimento de cada reboque em milímetros. |
totalAxleCount |
número inteiro | Obrigatório | Especifica o número total de eixos do veículo. Esse valor precisa ser um número inteiro maior ou igual a 2. |
Exemplos
Esta seção aborda dois tipos de exemplos:
- Exemplo de código que ilustra a estrutura do roteamento de veículos grandes.
- Um exemplo de solicitação que inclui o recurso.
Exemplo de código
O exemplo a seguir mostra a estrutura das propriedades usadas para o roteamento de veí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 } } } ]
Exemplo de solicitação
O exemplo a seguir mostra a estrutura de uma solicitação básica de optimizeTours
que incorpora o roteamento de veí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 } ] } }
A seguir
- Oferecer navegação orientada por voz: saiba como transmitir o
routeTokenretornado para cada transição ao SDK do Navigation para Android ou iOS. - Gerar polilinhas de transição e tokens de rota: saiba como solicitar tokens de rota usando
populateTransitionPolylinesem Polilinhas de transição e tokens de rota. - Referência da API: confira a lista completa de campos na
referência
optimizeTours.