Roteamento para veículos grandes

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 optimizeTours de 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

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 routeToken retornado 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 populateTransitionPolylines em Polilinhas de transição e tokens de rota.
  • Referência da API: confira a lista completa de campos na referência optimizeTours.