VBA Excel | Como obter coordenadas geográficas (latitude e longitude) usando a API do Google Geocoding

VBA Excel | Como obter coordenadas geográficas (latitude e longitude) usando a API do Google Geocoding

Através do VBA, faremos uma abordagem, criando um script que siga a lógica de executar uma chamada à API do Google Geocoding, para cada linha de uma lista, armazenando e manipulando as respostas.


 

QlikView | Qlik Sense: Script de Carregamento usando QlikView Scripting Language faz chamadas para a API do Google Geocoding e Processa a Resposta XML



 Veja também: 

Power BI | DAX - CEP Brasileiro - Como formatar o CEP - Criando uma Coluna Calculada? Power BI | DAX - CEP Brasileiro - Como formatar o CEP - Com Máscara Condicional?

Power BI | DAX - CEP Brasileiro - Como formatar o CEP - Tratando Dados Não Númericos? Power BI | DAX - CEP Brasileiro - Como formatar o CEP - Criando uma Medida?

Configuração de Dados: Suponha que tenha uma tabela com endereços no Excel e deseja obter coordenadas geográficas (latitude e longitude) usando a API do Google Geocoding.


Uso da API do Google: O VBA fará as chamadas HTTP para a API do Google e processará a resposta XML.


Manipulação de Dados: Atualizará a planilha com as respostas da API.


Aplicabilidades

Geocodificação de Endereços:


Localização de Dados: Pode ser usado para converter endereços em coordenadas geográficas (latitude e longitude), o que é útil para aplicações de mapeamento e análise espacial.


Visualização: Ideal para criar mapas de localização em ferramentas como Google Maps ou GIS (Sistema de Informação Geográfica) usando coordenadas.


Análise de Dados:


Análise Geoespacial: Pode ser usado para análise de dados baseada em localização, como identificar padrões geográficos ou realizar análises de proximidade.


Segmentação de Mercado: Empresas podem usar coordenadas para segmentar e analisar mercados com base em localização geográfica.


Integração com Outras Ferramentas:


Relatórios e Dashboards: Integrar dados de localização em relatórios e dashboards no Excel para visualização e análise.


Automatização: Automatizar a coleta de dados geoespaciais para processos de negócios que requerem localização, como planejamento de rotas ou logística.


Verificação e Validação de Endereços:


Correção de Dados: Verificar a precisão dos endereços em uma base de dados e corrigir ou normalizar os dados de endereço.


Exemplo de Código VBA

Aqui está um exemplo básico de como você pode realizar essas tarefas em VBA no Excel:


Option Explicit

Sub ObterCoordenadas()
    Dim ws As Worksheet
    Dim url As String
    Dim http As Object
    Dim xml As Object
    Dim i As Integer
    Dim lastRow As Long
    Dim endereco As String
    Dim chaveunica As String
    Dim resposta As String
    Dim lat As String
    Dim lng As String
    
    ' Definir a planilha onde estão os dados
    Set ws = ThisWorkbook.Sheets("Endereços") ' Substitua pelo nome da sua planilha
    
    ' Configurar a última linha com dados
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
    ' Configurar o objeto HTTP
    Set http = CreateObject("MSXML2.XMLHTTP")
    
    ' Iterar sobre cada linha na planilha
    For i = 2 To lastRow ' Assumindo que a primeira linha é o cabeçalho
        endereco = ws.Cells(i, 1).Value ' Supondo que o endereço está na coluna A
        chaveunica = ws.Cells(i, 2).Value ' Supondo que a chave única está na coluna B
        
        ' Construir URL da API
        url = "http://maps.googleapis.com/maps/api/geocode/xml?address=" & Replace(endereco, " ", "%20") & "&sensor=false"
        
        ' Fazer a chamada HTTP
        http.Open "GET", url, False
        http.send
        
        ' Obter resposta da API
        resposta = http.responseText
        
        ' Criar o objeto XML
        Set xml = CreateObject("MSXML2.DOMDocument")
        xml.LoadXML resposta
        
        ' Extrair latitude e longitude
        On Error Resume Next
        lat = xml.SelectSingleNode("//location/lat").Text
        lng = xml.SelectSingleNode("//location/lng").Text
        On Error GoTo 0
        
        ' Atualizar planilha com latitude e longitude
        ws.Cells(i, 3).Value = lat ' Supondo que a latitude será armazenada na coluna C
        ws.Cells(i, 4).Value = lng ' Supondo que a longitude será armazenada na coluna D
        
        ' Esperar para evitar problemas com limites de API
        Application.Wait Now + TimeValue("00:00:01")
    Next i
    
    ' Limpar objetos
    Set http = Nothing
    Set xml = Nothing
    
    MsgBox "Processo concluído!", vbInformation
End Sub

 

Detalhes do Código

Referências: Certifique-se de que você tem as referências necessárias habilitadas. No VBA, você pode usar MSXML2.XMLHTTP para chamadas HTTP e MSXML2.DOMDocument para processar XML. Verifique se a biblioteca Microsoft XML, v6.0 está ativada em Ferramentas -> Referências.


URL da API: A URL da API do Google é construída dinamicamente substituindo espaços no endereço com %20.


Respostas da API: O XML é processado para extrair latitude e longitude. Use SelectSingleNode para encontrar elementos no XML retornado pela API.


Delay: Adiciona um atraso de 1 segundo entre as chamadas para evitar atingir limites de taxa da API.


Atualização de Planilha: Os resultados são escritos diretamente na planilha. Ajuste as referências de coluna conforme necessário.


Observações Finais

Autenticação da API: Para usar a API do Google, você precisará de uma chave de API. Adicione-a ao URL da API se necessário.

Limites da API: A API do Google pode ter limites de uso. Certifique-se de não exceder esses limites para evitar erros.

 Clique aqui e nos contate via What's App para avaliarmos seus projetos 

Envie seus comentários e sugestões e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com

 Série de Livros nut Project 

DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)eBook - DONUT PROJECT 2024 - Volume 03 - Funções Financeiras - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 02 - Conectando Banco de Dados - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 01 - André Luiz Bernardes


 Série DONUT PROJECT 2024 

DONUT PROJECT 2024 - VBA - Retorna o Valor do Conteúdo da Área de Transferência do Sistema DONUT PROJECT 2024 - VBA - Retorna a Versão do Sistema Operacional em que o Excel está sendo Executado DONUT PROJECT 2024 - VBA - Desenvolvimento de Ferramentas de Análise de Riscos

DONUT PROJECT 2024 - VBA - Desenvolvimento Obter Informações sobre a Versão do Sistema Operacional DONUT PROJECT 2024 - VBA - Automatizando Tarefas de Engenharia e Design DONUT PROJECT 2024 - VBA - Automatização de Processos de Medir Distâncias no Google Maps

DONUT PROJECT 2024 - VBA - Automatização de Processos de Marketing Mail com o GMail DONUT PROJECT 2024 - VBA - Automatização de Processos de Marketing Mail DONUT PROJECT 2024 - VBA - Como proteger e ocultar fórmulas em uma planilha do Excel usando VBA

DONUT PROJECT 2024 - VBA - Código Exporta os dados e Atualiza as Quantidades em Estoque de um Determinado Produto na Planilha "Estoque" Crie Funções Personalizadas com Visual Basic for Applications (VBA) para Análise de Dados nos Negócios Saber programar em Visual Basic for Applications (VBA)

Nenhum comentário:

Postar um comentário

diHITT - Notícias