Como usar a API TomTom Routing para tempo estimado de chegada

Um tutorial sobre como usar nossa API para calcular um tempo preciso de chegada

(Bre Teiko) (22 de outubro de 2020)

UM RÁPIDO RESUMO DA ROUTING API

A API de roteamento é uma ferramenta poderosa que pode ser usada para obter direções precisas para diversos tipos de veículos – com rotas como as mais rápidas, mais curtas, mais emocionantes, etc. Ela também pode fornecer a forma geométrica da rota desejada e instruções.

Mas um recurso esquecido da API é a opção de buscar um resumo das rotas solicitadas. É útil para mostrar possibilidades ao usuário, como neste exemplo: precisamos encontrar o hospital ou farmácia mais próximo. Ao obter os resumos, podemos oferecer uma seleção melhor usando o Exemplo de Matriz de Roteamento encontrado aqui .

Outro caso de uso clássico para isso é um aplicativo Ride Sharing. Calcular a melhor escolha de driver a partir de uma lista de provedores espalhados por uma área fica complicado quando não precisamos realmente criar rotas para comparar, uma vez que precisamos apenas de distâncias de condução ou ETAs. É quando o resumo faz sua mágica.

O resumo é solicitado com o seguinte parâmetro:

O valor polyline retornará a representação gráfica da rota em uma matriz de pares LatLng, enquanto o summaryOnly fornecerá uma seção JSON extra na resposta como esta :

Existem alguns dados interessantes aqui que diferencia esta API em particular de outras:

  1. Você pode ver que há diferentes ETAs sem tráfego, tráfego em tempo real e consideração de tráfego histórico.
  2. Você pode obter rotas alternativas e veja quanto desvio do original existe.

NOTA: Os desvios e rotas alternativas estão disponíveis apenas quando uma rota inicial é calculado primeiro.

NOTA 2: O consumo de combustível em é estimado. Mas se passarmos os modelos de consumo – para veículos elétricos ou com motor de combustão – o cálculo se torna muito mais preciso.

Agora vamos dar uma olhada em um verdadeiro exemplo de vida…

DIFERENT TYPES, DIFFERENT ETAS

Vamos verificar alguns ETAs diferentes em nosso hotel no centro de Chicago – que tal “La Quinta Inn”? Para este hotel, usaremos o local:

Do hotel, gostaríamos de encontrar um restaurante perto, um restaurante de estilo crioulo Cajun. Para isso, podemos usar a API de pesquisa de categoria [ https://developer.tomtom.com/search-api/search-api-documentation-search/category-search] para obter uma lista de possíveis restaurantes ao redor do hotel (usando o LatLng do hotel como o viés de posição).

Removendo os dados não usados, obtemos uma pequena lista. Este é o primeiro elemento:

Então como pode ver, também obtemos a distância até ao nosso hotel como parte do resultado. Mas esse valor – em metros – é uma distância do ponto de vista direto, não a distância real de carro ou caminhada. Você pode replicar meus resultados executando este comando Curl.

Para a distância real de condução, usamos a API de roteamento, solicitando apenas o Resumo e adicionando a opção de calcular para diferentes tempos de viagem. Este é o endpoint da API que podemos usar:

O que nos dá:

Embora isso seja bom o suficiente por agora, precisamos obter ainda MAIS rotas para comparar e, para isso, nada é melhor do que usar a API Matrix Routing.

OBTENDO TODAS AS ROTAS / ROTAS POSSÍVEIS PARA MUITOS DESTINOS

A partir da documentação em nosso Portal do desenvolvedor:

O serviço Matrix Routing permite o cálculo de uma matriz de resumos de rotas para um conjunto de rotas definidas com locais de origem e destino.

  • Para cada origem dada, este serviço calcula o custo de roteamento daquela origem para cada destino dado.
  • O conjunto de origens e o conjunto de destinos podem ser pensados ​​como cabeçalhos de coluna e linha de uma tabela, enquanto cada célula na tabela contém os custos de roteamento do origem ao destino para essa célula.

Os seguintes custos são calculados para cada rota:

  • Tempos de viagem
  • Distâncias

Verifique a documentação completa aqui: https://developer.tomtom.com/routing-api/routing-api-documentation-matrix-routing/synchronous-matrix

Parece exatamente o que precisamos.

No nosso caso, vamos calcular resumos de trânsito e pedestres para que possamos decidir se queremos andar ou dirigir e, como as solicitações são simples – sem rotas complicadas aqui -, podemos usar a versão síncrona: irá aguardar por uma resposta assim que todas as rotas tiverem sido calculadas.

NOTA: A versão síncrona da API de roteamento de matriz expirará af por 60 segundos, portanto, certifique-se de usá-lo apenas com rotas pequenas.

O ponto final é uma solicitação HTTP-POST. Este é o URL que vamos usar:

The POST Body: Aqui iremos definir as diferentes rotas (mesma origem, diferentes destinos) solicitações. Ele segue este formato:

Então em nosso caso, este é o nosso POST Body:

Com essa solicitação, obtemos o seguinte resultado, truncado para fins editoriais:

Para cada destino, obtemos um objeto de resposta e seu RouteSummary com as mesmas informações necessárias que obtivemos ao executar uma chamada simples. Aqui vemos que o restaurante ‘Cajun Grill’ é o mais próximo de nós para dirigir. Com isso, podemos preencher uma lista ou um display para o usuário. Tente alterar o Modo de viagem para Pedestre se desejar uma rota a pé. Ex. Para rotas de pedestres:

Usando esta solicitação , vemos que o restaurante Cajun Grill TAMBÉM é o mais próximo de nós em uma caminhada, mas no caso de termos diferentes restaurantes para escolher, podemos sempre usar a API de roteamento em lote para criar todas as rotas necessárias usando um único ligue para: https://developer.tomtom.com/routing-api/routing-api-documentation/batch-routing

Por aqui criamos apenas as rotas que precisamos exibir para o usuário.

EM RESUMO

Neste artigo, demos uma olhada na API de roteamento e como buscar ETAs e condução real ou percorrer distâncias por meio do objeto Summary na resposta da API Matrix Routing.

A API Matrix Routing nos permite buscar resumos diferentes com uma única chamada, onde podemos obter esses ETAs de destinos diferentes.

Espero que este artigo ajude você a entender melhor a API de roteamento TomTom – obrigado por re ading and Happy Mapping!

Para saber mais sobre os serviços e soluções da TomTom para mobilidade de última milha e serviços de transporte, consulte a página Mobilidade e sob demanda aqui .

Este artigo apareceu originalmente em https://developer.tomtom.com/blog . O autor original é Jose Jose Rojas.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *