Especificar como e se incluir dados de tráfego

As preferências de tráfego selecionadas equilibram a precisão dos detalhes da rota com a performance da solicitação. Ao fazer uma solicitação, convém avaliar se ela é melhor retornar os resultados mais precisos possíveis ou retornar resultados o mais rápido possível. A API Routes oferece opções que permitem controlar a qualidade dos dados de resposta em relação à latência da resposta.

Definir o nível dos dados de tráfego

A API Routes oferece RoutingPreference (REST) e RoutingPreference (gRPC) para especificar preferências de roteamento para calcular rotas. Essas preferências são diferentes na medida em que consideram as condições de trânsito no cálculo da rota. Cada preferência de roteamento produz resultados que diferem de um em relação à qualidade do trajeto, ao HEC estimado e à latência de resposta.

As condições de trânsito caracterizam a taxa de fluxo do trânsito. Exemplo:

  • Quando não há congestionamento, as condições de trânsito são consideradas normais e o tráfego flui na velocidade normal e livre.
  • Próximo da hora do rush, a densidade do tráfego aumenta, o que faz com que o tráfego fique desacelerar, produzindo condições de trânsito leves a moderadas.
  • No trânsito de para-choques, a taxa de fluxo diminui até parar, produzindo uma as condições de trânsito.

Sem reconhecimento de tráfego

Quando você define a preferência de roteamento TRAFFIC_UNAWARE, as rotas são calculadas sem considerar as condições atuais de trânsito. Essa preferência de roteamento oferece a menor latência de resposta (as respostas são retornadas mais rapidamente).

TRAFFIC_UNAWARE é a configuração padrão.

Na resposta:

  • O ETA está na propriedade de resposta duration.

  • As propriedades de resposta duration e staticDuration contêm as mesmas .

Use essa preferência de roteamento quando quiser que as respostas sejam retornadas o mais rápido possível e os detalhes aproximados do roteamento sejam bons o suficiente.

Com base no trânsito

Quando você define a preferência de roteamento TRAFFIC_AWARE, as rotas são calculadas considerando as condições de trânsito atuais. Por isso, o trajeto e o trajeto para refletir com mais precisão as condições reais. Como esse aumento a qualidade dos dados resulta na latência de resposta, nas otimizações de desempenho são aplicadas para reduzir boa parte da latência.

Na resposta:

  • O ETA que considera o trânsito em tempo real está contido na propriedade de resposta duration.

  • A propriedade de resposta staticDuration contém a duração da viagem pela rota sem considerar as condições de trânsito.

Use esta preferência de roteamento quando quiser detalhes de trajeto mais precisos do que TRAFFIC_UNAWARE e ainda não se importar se as respostas forem retornadas com uma aumento moderado da latência.

Com informações de trânsito

Quando você define a preferência de roteamento TRAFFIC_AWARE_OPTIMAL, as rotas são calculados considerando as condições atuais de tráfego, mas sem dados de para que as otimizações sejam aplicadas. Nesse modo, o servidor realiza uma pesquisa mais completa da rede de estradas para encontrar o trajeto ideal.

A preferência de roteamento TRAFFIC_AWARE_OPTIMAL é equivalente ao modo usado pelo maps.google.com e pelo app Google Maps para dispositivos móveis.

Ao usar essa opção com a Compute Route Matrix, o número de elementos em uma solicitação (número de origens × número de destinos) não pode exceder 100. Para saber mais sobre os limites do Compute Route Matrix, consulte Calcular uma matriz de rotas

Na resposta:

  • O ETA que considera o trânsito em tempo real está contido na propriedade de resposta duration.

  • A propriedade de resposta staticDuration contém a duração da viagem pela rota sem considerar as condições de trânsito.

Essa preferência de roteamento oferece a maior latência de resposta, ou seja, as respostas são retornadas com o maior atraso. Use essa preferência de roteamento quando quiser resultados da mais alta qualidade, sem se importar com o tempo que as respostas levam.

Efeito de definir o horário de partida

Você pode usar a propriedade departureTime para definir o horário de partida de uma viagem. Se você não definir a propriedade departureTime, ela vai ser definida como o horário em que você fez a solicitação.

  • Para TRAFFIC_UNAWARE, não é possível definir departureTime porque a escolha do trajeto e da duração se baseia na rede viária e nas condições médias de trânsito (independente da hora).

  • Para TRAFFIC_AWARE e TRAFFIC_AWARE_OPTIMAL, que processam o trânsito em tempo real o trânsito em tempo real se torna mais importante mais perto de departureTime. Quanto mais longe você definir o horário de partida no futuro, mais é dada ao tráfego histórico pelas condições

Exemplo de configuração de preferência de roteamento

O código JSON a seguir demonstra como definir a preferência de roteamento no corpo da entidade da mensagem de solicitação.

{
  "origin":{
    "location":{
      "latLng":{
        "latitude":37.419734,
        "longitude":-122.0827784
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
        "latitude":37.417670,
        "longitude":-122.079595
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE_OPTIMAL"
}

Configurar o tráfego em polilinhas

A API Routes permite solicitar informações sobre as condições de trânsito ao longo de uma poligonal sensível ao trânsito. Consulte Solicitar polilinhas para mais informações.