As preferências de trânsito selecionadas equilibram a precisão dos detalhes do trajeto com o desempenho da solicitação. Ao fazer uma solicitação, você quer avaliar se é melhor retornar os resultados mais precisos ou o mais rápido possível. A API Routes oferece opções que permitem controlar a qualidade dos dados de resposta em comparação com a latência da resposta.
Definir o nível dos dados de tráfego
A API Routes fornece RoutingPreference (REST) e RoutingPreference (gRPC) que permitem especificar preferências de roteamento para calcular rotas. Essas preferências diferem na medida em que consideram as condições de trânsito no cálculo da rota. Cada preferência de trajeto produz resultados que diferem em um grau em relação à qualidade do trajeto, ao HEC estimado e à latência de resposta.
As condições de trânsito caracterizam a taxa do fluxo de trânsito. Exemplo:
- Quando não há congestionamento, as condições de trânsito são consideradas normais, e o trânsito flui na velocidade normal sem impedimentos.
- Ao se aproximar do horário de pico, a densidade do trânsito aumenta, o que diminui a velocidade do trânsito, resultando em condições de trânsito leves a moderadas.
- No tráfego de bumper para bumper, a taxa de fluxo é desacelerada até parar, produzindo condições de trânsito intenso.
Não reconhece o tráfego
Quando você define a preferência de trajeto TRAFFIC_UNAWARE
, os trajetos são calculados sem considerar as condições de trânsito atuais. Essa preferência de roteamento fornece a menor latência de resposta (as respostas são retornadas mais rapidamente).
TRAFFIC_UNAWARE
é a configuração padrão.
Na resposta:
O HEC está na propriedade de resposta
duration
.As propriedades de resposta
duration
estaticDuration
contêm o mesmo valor.
Use essa preferência de roteamento quando quiser que as respostas sejam retornadas mais rapidamente e que os detalhes de roteamento aproximados sejam bons o suficiente.
Conhecimento de 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. Como resultado, o trajeto e os detalhes dele
refletem as condições reais com mais precisão. Como esse aumento na
qualidade dos dados vem à custa da latência de resposta, as otimizações de desempenho
são aplicadas para reduzir grande parte da latência.
Na resposta:
O HEC 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 do percurso pelo trajeto sem considerar as condições de trânsito.
Use essa preferência de roteamento quando quiser detalhes de roteamento mais precisos do que TRAFFIC_UNAWARE
e, ainda assim, não se importar se as respostas forem retornadas com um aumento moderado na latência.
Ideal para informações de trânsito
Quando você define a preferência de roteamento TRAFFIC_AWARE_OPTIMAL
, as rotas são calculadas considerando as condições de trânsito atuais, mas nenhuma otimização de desempenho é aplicada. Nesse modo, o servidor realiza uma pesquisa mais completa da malha rodoviária para encontrar o trajeto ideal.
A preferência de trajeto 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 da matriz de rota do Compute, consulte Calcular uma matriz de rota.
Na resposta:
O HEC 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 do percurso pelo trajeto sem considerar as condições de trânsito.
Essa preferência de roteamento oferece a maior latência de resposta, ou seja, as respostas retornam com o maior atraso. Use essa preferência de roteamento quando quiser resultados da mais alta qualidade, independentemente da duração das respostas.
Efeito da definição do horário de partida
Também é possível usar a propriedade departureTime
para definir o horário de partida de uma viagem. Se você não definir a propriedade departureTime
, o padrão será
o tempo de realização da solicitação.
Para
TRAFFIC_UNAWARE
, não é possível definirdepartureTime
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
eTRAFFIC_AWARE_OPTIMAL
, que consideram as condições de trânsito em tempo real, o trânsito em tempo real se torna mais importante quanto mais próximo dedepartureTime
é o momento. Quanto mais você definir o horário de partida no futuro, maior será a consideração das condições históricas de trânsito.
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 de uma 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ânsito em polilinhas
Com a API Routes, você pode solicitar informações sobre as condições de trânsito em uma polilinha com reconhecimento de trânsito. Consulte Solicitar polilinhas para mais informações.