KMZ para Excel: Extrair as coordenadas de Polígonos
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.
![Polígonos do SIGEF](https://static.wixstatic.com/media/e65b15_79e9f8f5d13842958052e5ea4893a677~mv2.png/v1/fill/w_980,h_764,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/e65b15_79e9f8f5d13842958052e5ea4893a677~mv2.png)
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).
![Dados a copiar](https://static.wixstatic.com/media/e65b15_fce371ab2a25449985b7e94d5667f99c~mv2.jpg/v1/fill/w_980,h_496,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e65b15_fce371ab2a25449985b7e94d5667f99c~mv2.jpg)
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.
![Polígonos com mesmo ID](https://static.wixstatic.com/media/e65b15_acf04b3f8e8c46a6bf65fce82db74bd8~mv2.jpg/v1/fill/w_672,h_405,al_c,q_80,enc_avif,quality_auto/e65b15_acf04b3f8e8c46a6bf65fce82db74bd8~mv2.jpg)
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.
![Número do polígono](https://static.wixstatic.com/media/e65b15_34299d116be34ed9a349e0256ad6bb3e~mv2.jpg/v1/fill/w_695,h_288,al_c,q_80,enc_avif,quality_auto/e65b15_34299d116be34ed9a349e0256ad6bb3e~mv2.jpg)
Crie uma nova coluna (conforme imagem abaixo) e use a fórmula que segue:
Na célula D2:
=SE(C2=0;D1;C2)
![Obter IDs de tudo](https://static.wixstatic.com/media/e65b15_d3e247591d4a4b39ae63707d632517e2~mv2.png/v1/fill/w_980,h_755,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/e65b15_d3e247591d4a4b39ae63707d632517e2~mv2.png)
Temos agora o ID e o número do polígono.
![Resultado](https://static.wixstatic.com/media/e65b15_7746fdf0b0d941eb8c07c8c8608be0d5~mv2.jpg/v1/fill/w_980,h_551,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e65b15_7746fdf0b0d941eb8c07c8c8608be0d5~mv2.jpg)
Organize as colunas, coloque o número do polígono entre o ID e a lista de coordenadas.
![Resultado](https://static.wixstatic.com/media/e65b15_623c604e03b14deaa5d327dea7843cbb~mv2.png/v1/fill/w_980,h_486,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/e65b15_623c604e03b14deaa5d327dea7843cbb~mv2.png)
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.
![Lista de coordenadas formatadas](https://static.wixstatic.com/media/e65b15_d58655feea2741968c453ca20609e462~mv2.png/v1/fill/w_980,h_462,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/e65b15_d58655feea2741968c453ca20609e462~mv2.png)
Feche a janela, mas mantenha as alterações. Uma nova planilha será criada.
![Nova planilha criada com Power Query](https://static.wixstatic.com/media/e65b15_0ec61608725b45479421295af8947da3~mv2.png/v1/fill/w_881,h_775,al_c,q_90,enc_avif,quality_auto/e65b15_0ec61608725b45479421295af8947da3~mv2.png)
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.
![Substituir aspas duplas](https://static.wixstatic.com/media/e65b15_43e0c79d2e8d4b93b788942fe938bc07~mv2.png/v1/fill/w_980,h_343,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e65b15_43e0c79d2e8d4b93b788942fe938bc07~mv2.png)
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!
コメント