Migração

Saindo de uma integração de altitude do Google Maps Platform

As consultas de altitude costumam ser uma dependência discreta, chamada pelo recurso de perfil de rota de um app de trilhas, por um planejador de voos de drone que verifica a distância do terreno ou por uma ferramenta de levantamento topográfico, e raramente são o motivo pelo qual uma conta da Google Maps Platform existe. Isso faz delas boas candidatas a migrar independentemente de todo o resto de uma integração mais ampla com o Google, já que o código que as chama geralmente fica contido em uma ou duas funções.

A Elevation API do Google aceita um ou mais pares de coordenadas e retorna um valor elevation em metros junto com um valor resolution que descreve a precisão da amostra de dados subjacente. É uma resposta compacta, com pouco a interpretar, o que mantém a migração em si com um escopo bem pequeno, mesmo que a fonte de dados subjacente mude.

O My Geocode oferece a altitude como um endpoint totalmente funcional, com um formato simples de requisição e resposta: envie uma coordenada e receba de volta a altitude do terreno em metros. Como esta é uma das consultas em que respostas reais podem ser descritas diretamente, e não apenas o formato da resposta, testar esta migração com pontos de referência conhecidos, o cume de uma montanha específica ou um local no litoral ao nível do mar, é uma forma razoável de ganhar confiança antes de mudar o tráfego de produção. Os detalhes estão em /docs/elevation-lookup/.

Algumas coisas que vale verificar especificamente nesta migração:

  • Se o seu código depende do campo resolution do Google para algo além da exibição, já que um valor de resolução descreve a precisão da amostragem de forma diferente entre fontes de dados de altitude e qualquer lógica posterior que dependa de um valor de resolução específico merece revisão
  • Se as consultas de altitude acontecem em lote (muitas coordenadas em uma chamada) ou individualmente, já que os formatos de requisição em lote diferem entre provedores e vale a pena testá-los com os tamanhos de lote que a sua aplicação realmente usa
  • Se a altitude é chamada diretamente a partir de código no lado do cliente, o que torna este um momento razoável para mover a chamada para o servidor, seja qual for o provedor de destino

A autenticação usa uma chave enviada como X-API-Key, Authorization: Bearer, autenticação HTTP Basic ou parâmetro de consulta. São 2.500 requisições gratuitas por dia sem nenhuma chave e mais 2.500 gratuitas por chave por dia, contadas por rede, com crédito pré-pago a € 0,0001 por requisição ou uma chave Unlimited a € 50 por mês além disso, pelo mesmo preço de todos os outros endpoints da plataforma.

Extras opcionais além da própria altitude, como detalhes de ameaças de IP e informações de rede relevantes para outras partes de uma aplicação, estão disponíveis nos hosts compatíveis via mg_extras=1, embora, para uma migração apenas de altitude como esta, o endpoint independente seja geralmente a opção mais simples e direta. Migrar a altitude sozinha, antes de uma migração maior de geocodificação, é uma forma de baixo risco de começar a reduzir a dependência de uma única conta sem se comprometer de imediato com um projeto maior.