KMZ para Excel: Extrair as coordenadas de Polígonos
- Adauto Costa
- 27 de jun. de 2024
- 4 min de leitura
Este post mostrará uma solução prática para extrair as coordenadas de polígonos diretamente de arquivos KMZ para Excel, sem a necessidade de programas complicados. Este método simplifica o processo, permitindo que usuários transfiram e analisem dados geoespaciais de forma eficiente.
O método apresentado irá servir em sua totalidade para KMZ que possui apenas polígonos. Se houver outras feições nele, como pontos e linhas, deverão ser feitas adaptações segundo o raciocínio aqui apresentado.
Introdução
Vamos ver um exemplo prático juntos: iremos extrair as coordenadas dos polígonos e suas identificações (IDs) de um arquivo KMZ que contém os imóveis certificados no INCRA pelo SIGEF. Antes de iniciar, baixe o Notepad++, WinRAR e tenha um software de planilha, neste caso o Excel.

Abra o KMZ com o WinRAR clicando com o botão direito e selecionando "Abrir com" e escolhendo WinRAR. Extraia o arquivo doc.kml, abra-o com o Notepad++ e depois copie tudo.
Abra o Excel e clique em uma célula vazia, depois cole o texto (Ctrl+V). No Excel, organize as colunas e depois procure primeiro uma tag que sirva para o ID. Neste nosso caso, será aquela que contém o termo SimpleData="parcela_co". Encontre agora a tag <coordinates> e logo na linha seguinte você achará a lista de coordenadas. Neste exemplo, elas estavam nas colunas F, G e H, respectivamente.
Nas células I2, J2 e K2, utilize as fórmulas abaixo e aplique-as até o final do conteúdo colado do arquivo KMZ:
Na célula I2
=SE(ÉERRO(PROCURAR("SimpleData name=""parcela_co""";F2));"XXX";"OK")
Na célula J2
=SE(G1="<coordinates>";"XXX";"OK")
Na célula K2 (a coluna K será utilizada para separar os dados relevantes)
=SE(OU(I2="OK";J2="OK");"OK";"XXX")
A coluna K é usada para detectar as células que contêm as tags os critérios que estabelecemos. Aplique um filtro e selecione as células que contêm o valor "OK". Copie os dados da coluna F (contém as identificações) até H (contém as respectivas listas de coordenadas).

Cole os dados em uma nova planilha, apague a coluna B (que estará vazia) e organize as informações lado a lado, seguindo estes passos para todo o conteúdo:
Na célula C2:
=A2
Na célula D2:
=B3
Copie os dados das colunas C e D e cole em uma outra planilha. Nesta nova planilha, as linhas inúteis terão valor 0 na coluna B e serão fáceis de remover ao criar um filtro.
Confira no vídeo abaixo as instruções passo a passo para executar esse procedimento.
Obter quantidade de polígonos para cada ID
Copie todos os dados e cole-os em uma nova planilha. Ajuste o campo dos IDs removendo as tags, pois agora são desnecessárias. Note que no campo dos IDs podem existir valores iguais a 0, indicando que há mais de um polígono associado ao mesmo ID.

Crie duas colunas no início da planilha. Na primeira coluna, preencha todas as células com o valor 1. Na segunda coluna, aplique a fórmula a partir da célula B2 até o final do conteúdo.
Na célula B2:
=SE(C2=0;B1+1;A2)
Com isso conseguimos numerar cada polígono de cada ID.

Crie uma nova coluna (conforme imagem abaixo) e use a fórmula que segue:
Na célula D2:
=SE(C2=0;D1;C2)

Temos agora o ID e o número do polígono.

Organize as colunas, coloque o número do polígono entre o ID e a lista de coordenadas.

Confira no vídeo abaixo as orientações sobre como fazer esse procedimento.
Power Query Excel
Vamos agora usar o Power Query do Excel. Não se preocupe, será simples. Selecione os dados das colunas C, D e E e vá em Dados, depois clique em Obter Dados e escolha a opção De Tabela/Intervalo. Isso permitirá que você transforme e organize seus dados facilmente utilizando as ferramentas disponíveis no Power Query.
Será aberta uma janela do Power Query e nela precisaremos formatar os dados. Selecione a coluna com a lista de coordenadas.
Vá em Substituir Valores e substitua primeiro espaços por carriage return e duas tabulações. Feito isso, substitua vírgulas por tabulação.
O resultado deverá ser semelhante ao mostrado na figura abaixo.

Feche a janela, mas mantenha as alterações. Uma nova planilha será criada.

Copie todo o texto e cole no Notepad++. Lá, será necessário remover as aspas duplas para continuar o processo. Vá até a opção Substituir no menu, onde você substituirá todas as ocorrências de aspas duplas por um campo vazio. Depois de concluído, copie o texto sem as aspas duplas para continuar com as etapas seguintes.

Cole os dados em uma nova planilha. Em seguida, remova as linhas vazias aplicando um filtro e selecionando apenas as células que contenham todas as coordenadas necessárias para prosseguir com o processo.
Veja no vídeo abaixo como realizar o procedimento que foi descrito acima.
Formatação Final
Precisamos remover os espaços em branco, ou seja, cada coordenada deve ter a identificação do polígono e seu respectivo número. Para isso, basta aplicar duas fórmulas simples.
Na célula F2:
=SE(A2="";F1;A2)
Na célula G2:
=SE(B2="";G1;B2)
Se quiser as coordenadas de um determinado ID, use o filtro pra isso.
Chegamos ao final desta etapa, mas aproveite para realizar este processo uma vez e salvar um modelo (template). Isso garantirá maior facilidade e eficiência em futuros trabalhos. Para uma orientação detalhada sobre este procedimento final, assista ao vídeo abaixo, onde você encontrará todas as instruções necessárias para criar e utilizar o seu template.
Gostou do conteúdo? Compartilhe!