Definir o nível dos dados de tráfego

Desenvolvedores do Espaço Econômico Europeu (EEE)

As preferências de trânsito selecionadas equilibram a precisão dos detalhes da rota com o desempenho da solicitação de duas maneiras:

  • Com informações de trânsito : retorna os resultados mais precisos possíveis (latência maior).

  • Sem informações de tráfego: retorna os resultados o mais rápido possível (menor latência).

Ao fazer uma solicitação, avalie se é melhor retornar os resultados mais precisos possíveis ou retornar os 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.

Como definir o nível de tráfego

A API Routes oferece RoutingPreference (REST) e RoutingPreference (gRPC) que permitem especificar preferências de roteamento para calcular trajetos.

O padrão é resultados sem informações de tráfego. Você seleciona as opções de trânsito com as TRAFFIC_UNAWARE, TRAFFIC_AWARE e TRAFFIC_AWARE_OPTIMAL preferências de roteamento. Cada preferência de roteamento produz resultados que diferem na qualidade do trajeto, na ETA estimada e na latência da resposta.

Condições de trânsito

As condições de trânsito caracterizam a taxa de fluxo de tráfego:

  • Trânsito normal: sem congestionamento, com o trânsito fluindo em velocidade normal.

  • Trânsito leve a moderado: congestionamento crescente, com o trânsito fluindo em velocidade reduzida.

  • Trânsito intenso: congestionamento grave, com velocidade de trânsito muito reduzida.

Sem informações de tráfego

TRAFFIC_UNAWARE é a configuração padrão. Use essa preferência de roteamento quando quiser respostas retornadas o mais rápido possível e detalhes de roteamento aproximados forem suficientes.

Os trajetos TRAFFIC_UNAWARE são calculados sem considerar as condições de trânsito atuais. Essa preferência de roteamento resulta na resposta de solicitação mais rápida (menor latência).

Se você escolher TRAFFIC_UNAWARE, o trajeto e a duração escolhidos serão baseados na rede viária e nas condições médias de trânsito (independente da hora) , não nas condições de trânsito atuais. Assim, os trajetos podem incluir vias que estão temporariamente fechadas. Os resultados das solicitações variam por causa de mudanças na malha rodoviária, de atualizações nas condições de trânsito e da natureza distribuída do serviço. Eles também variam entre trajetos quase equivalentes a qualquer momento ou frequência.

Confira as respostas que você vai receber:

  • duration: contém a ETA do trajeto.

  • staticDuration: a ETA do trajeto considerando apenas informações históricas de trânsito. Para TRAFFIC_UNAWARE, esse valor é o mesmo de duration.

Com informações de tráfego

Use essa preferência de roteamento quando quiser detalhes de roteamento mais precisos do que TRAFFIC_UNAWARE, mas não se importar se as respostas forem retornadas com um aumento moderado na latência.

Quando você define a preferência de roteamento TRAFFIC_AWARE, o serviço calcula a rota considerando as condições de trânsito atuais. Como resultado, o trajeto e os detalhes do trajeto refletem com mais precisão as condições reais. Como esse aumento na qualidade de dados ocorre às custas da latência da resposta, as otimizações de performance são aplicadas para reduzir grande parte da latência.

Confira as respostas que você vai receber:

  • duration: a HEC considerando informações de trânsito em tempo real.

  • staticDuration : a ETA do trajeto considerando apenas informações históricas de trânsito.

Melhores trajetos com informações de trânsito

Use essa preferência de roteamento quando quiser resultados da mais alta qualidade, sem considerar o tempo de resposta. Essa preferência de roteamento tem o maior atraso no retorno de respostas (maior latência).

Quando você define a preferência de roteamento TRAFFIC_AWARE_OPTIMAL, o serviço calcula a rota considerando as condições de trânsito atuais, mas não aplica otimizações de performance. Nesse modo, o servidor realiza uma pesquisa mais exaustiva da rede viária para encontrar o trajeto ideal.

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

Ao usar essa opção com a matriz de rotas do Compute, o número de elementos em uma solicitação (número de origens × número de destinos) é limitado. Para mais informações sobre os limites da matriz de rotas do Compute, consulte Calcular uma matriz de rotas.

Confira as respostas que você vai receber:

  • duration: a ETA do trajeto considerando informações de trânsito em tempo real.

  • staticDuration: a ETA do trajeto considerando apenas informações históricas de trânsito.

Definir horário de partida (opcional)

Use essa propriedade apenas para solicitações com informações de tráfego em que o horário de partida precisa estar no futuro. Se você não definir a propriedade departureTime, ela será definida como o horário em que você fizer a solicitação.

Use a propriedade departureTime com as opções TRAFFIC_AWARE e TRAFFIC_AWARE_OPTIMAL quando quiser ajustar a maneira como o serviço prevê o trânsito ao escolher um trajeto.

  • TRAFFIC_UNAWARE: não recomendado 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).

  • TRAFFIC_AWARE e TRAFFIC_AWARE_OPTIMAL: recomendado para partidas que acontecem em um futuro próximo porque essas preferências consideram as condições de trânsito em tempo real. O trânsito em tempo real se torna mais importante e relevante quanto mais próximo o departureTime estiver do momento atual. Quanto mais você definir o horário de partida no futuro, mais consideração será dada às condições de trânsito históricas na seleção de trajetos.

Exemplo: como selecionar o roteamento com informações de trânsito

O código JSON a seguir demonstra como definir a preferência de roteamento TRAFFIC_AWARE_OPTIMAL no corpo de uma entidade de 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"
}