Guias

Geocodifique uma planilha de endereços em uma única requisição em lote

Uma planilha cheia de endereços não precisa de um loop. Todos os endpoints da My Geocode aceitam uma requisição POST com um array JSON no lugar dos parâmetros de consulta, e o endpoint de geocodificação direta aceita uma coluna inteira de endereços de uma vez, retornando um resultado geocodificado por linha, na mesma ordem em que você os enviou.

Montando a requisição

Exporte a coluna de endereços da sua planilha como um array simples de strings e envie-o por POST para /v1/forward. Cada item do array é tratado como uma consulta própria e retorna seu próprio resultado, na mesma ordem em que você os enviou.

POST /v1/forward
Content-Type: application/json

["221B Baker Street, London", "1600 Pennsylvania Avenue, Washington"]
{
  "status": "ok",
  "results": [
    {"formatted": "221B Baker Street, London, UK", "lat": 51.5237, "lon": -0.1585, "type": "address", "precision": "house", "confidence": 0.95, "place_id": "abc123", "components": {}},
    {"formatted": "1600 Pennsylvania Avenue, Washington, DC", "lat": 38.8977, "lon": -77.0365, "type": "address", "precision": "house", "confidence": 0.97, "place_id": "def456", "components": {}}
  ]
}

Refinando resultados com uma lista de países mista

Se a sua planilha abrange vários países, um array simples de strings ainda funciona, mas nomes de ruas ambíguos em países diferentes podem acabar resolvidos para o país errado. Quando a sua planilha tiver uma coluna de país separada, envie as linhas de cada país como um lote próprio, com o parâmetro countries definido para o código ISO correspondente, em vez de misturar países em uma única chamada e esperar que o texto do endereço sozinho resolva a ambiguidade.

Quanto custa

Uma requisição em massa é cobrada por item, e não por chamada. Dois endereços em um único POST usam duas requisições da sua cota diária, exatamente como se você tivesse enviado duas requisições GET separadas. Uma planilha de 500 linhas custa 500 requisições, confortavelmente dentro das 2.500 requisições gratuitas por dia que vêm com cada chave, ou mesmo sem chave nenhuma.

Relacionando as linhas de volta

Os resultados voltam na mesma ordem do array que você enviou, então mantenha o índice da linha original junto a cada endereço antes de enviar a requisição. Quando a resposta chegar, relacione os resultados às linhas da planilha pela posição, e não comparando texto, já que o endereço formatado na resposta raramente será idêntico ao que você digitou.

Lidando com falhas parciais

Uma linha sem resultado, com uma pontuação de confiança baixa ou com uma precisão abaixo do que você precisa deve ser sinalizada em vez de aceita automaticamente. Verifique o campo confidence em cada item e encaminhe tudo o que estiver abaixo do seu próprio limite para uma lista de revisão manual.

Um caso extremo: linhas em branco

A exportação de uma planilha costuma trazer algumas linhas totalmente em branco perto do fim do arquivo, restos de formatação ou de um filtro que um dia incluiu células vazias. Uma string vazia no array ainda conta como um item e normalmente retorna um resultado vazio ou de confiança muito baixa, que depois precisa ser filtrado antes de chegar à sua tabela de dados, então remova as linhas em branco no momento da exportação em vez de enviá-las no lote.

Um erro que vale a pena evitar

Enviar o mesmo endereço duas vezes, uma a partir de uma lista de clientes ativos e outra a partir de uma exportação antiga que nunca foi limpa, é uma forma fácil de gastar boa parte da sua cota diária com trabalho duplicado. Remova duplicatas da coluna de endereços antes de montar o array e reprocesse apenas as linhas que mudaram desde a última exportação, em vez de geocodificar a planilha inteira novamente toda vez que algumas linhas forem adicionadas.

Dividindo arquivos grandes

Arquivos muito grandes são mais fáceis de gerenciar em blocos de algumas centenas a alguns milhares de linhas. Dividir em blocos também facilita verificar seus cabeçalhos de cota entre os lotes e parar antes de ultrapassar sua cota gratuita ou seu crédito pré-pago.

Se a sua planilha tem mais do que algumas linhas, essa é a diferença entre uma requisição e centenas de idas e voltas. A estrutura completa de requisição e resposta está documentada na página de geocodificação direta.