Código para Extrair Endereço a Partir de Latitude e Longitude

Agora que cada palavra está em sua respectiva coluna, vou explicar como você pode implementar o script para extrair o endereço com base nas coordenadas de latitude e longitude (coluna Lat/Long) e preencher a coluna Endereço automaticamente.

Código para Extrair Endereço a Partir de Latitude e Longitude

Aqui está o código para implementar no Apps Script do Google Sheets. Este script irá buscar o endereço baseado nas coordenadas de latitude e longitude, e preencher a coluna de Endereço (Coluna D) automaticamente.

Código:

				
					function extrairEnderecoPorCoordenadas() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getActiveSheet();
  const lastRow = sheet.getLastRow(); // Pega a última linha com dados
  const geocoder = Maps.newGeocoder();

  for (let i = 2; i <= lastRow; i++) { // Começa da linha 2 para ignorar o cabeçalho
    const latLong = sheet.getRange(i, 3).getValue(); // Coluna "C" (Lat/Long)
    
    if (latLong) {
      try {
        const coordinates = latLong.split(","); // Divide a string em latitude e longitude
        const latitude = parseFloat(coordinates[0].trim());
        const longitude = parseFloat(coordinates[1].trim());
        
        // Usa o geocodificador do Google Maps para buscar o endereço
        const response = geocoder.reverseGeocode(latitude, longitude);
        const result = response.results[0]; // Pega o primeiro resultado
        
        if (result) {
          const endereco = result.formatted_address; // Endereço formatado
          sheet.getRange(i, 4).setValue(endereco); // Coluna "D" (Endereço)
        } else {
          sheet.getRange(i, 4).setValue('Endereço não encontrado');
        }
      } catch (error) {
        sheet.getRange(i, 4).setValue('Erro ao buscar endereço');
        Logger.log('Erro: ' + error);
      }
    }
  }
}

				
			
Explicação do Código - Geocodificação

Explicação do Código - Geocodificação

1. Inicializando a Planilha

const ss = SpreadsheetApp.getActiveSpreadsheet();
Isso obtém a planilha ativa no Google Sheets em que o script será executado.
const sheet = ss.getActiveSheet();
Isso obtém a aba ativa onde os dados estão presentes.

2. Identificando a Última Linha

const lastRow = sheet.getLastRow();
Isso identifica a última linha que contém dados, garantindo que o script percorra todas as linhas com coordenadas.

3. Criando a Instância do Geocodificador

const geocoder = Maps.newGeocoder();
Esta linha cria uma instância do geocodificador do Google Maps, usado para converter coordenadas em endereços.

4. Loop Para Percorrer as Linhas

for (let i = 2; i <= lastRow; i++) {
Este loop começa na linha 2 (ignorando o cabeçalho) e percorre todas as linhas até a última linha com dados.

5. Obtendo as Coordenadas

const latLong = sheet.getRange(i, 3).getValue();
Aqui, estamos pegando o valor da coluna C (Lat/Long), onde as coordenadas de latitude e longitude estão armazenadas.

6. Verificando se Há Coordenadas

if (latLong) {
Verifica se há um valor presente na célula com as coordenadas.

7. Separando Latitude e Longitude

const coordinates = latLong.split(",");
Dividimos a string de coordenadas, que está no formato "latitude, longitude", em dois valores separados.
const latitude = parseFloat(coordinates[0].trim());
Pegamos a primeira parte (latitude) e removemos os espaços em branco ao redor.
const longitude = parseFloat(coordinates[1].trim());
Fazemos o mesmo para a longitude, removendo os espaços.

8. Geocodificando as Coordenadas

const response = geocoder.reverseGeocode(latitude, longitude);
Aqui, usamos o serviço de geocodificação do Google Maps para converter as coordenadas em um endereço.

9. Pegando o Resultado

const result = response.results[0];
Pega o primeiro resultado retornado pelo serviço de geocodificação.

10. Inserindo o Endereço

const endereco = result.formatted_address;
Pega o endereço formatado a partir do resultado.
sheet.getRange(i, 4).setValue(endereco);
Insere o endereço na coluna D (Endereço).

11. Tratamento de Erros

catch (error) { }
Se houver um erro ao buscar o endereço, ele será registrado e a célula correspondente mostrará "Erro ao buscar endereço".
© 2024 Explicação de Códigos - Todos os direitos reservados
Post a comment

Leave a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima