Conversor de Google KML para GeoJSON
A conversão de arquivos Google KML para GeoJSON transforma dados geográficos XML hierárquicos em vetor leve em JavaScript Object Notation para mapas web modernos.
Comparação de Formatos e Especificações Técnicas
| Especificação | KML | GEOJSON |
|---|---|---|
| Tipo MIME | application/vnd.google-earth.kml+xml | application/geo+json |
| Tipo | geographic XML notation | geographic vector JSON |
| Compressão | XML text (KMZ when ZIP compressed) | none (JSON text) |
| Especificação Padrão | OGC KML 2.3 | IETF RFC 7946 |
| Cabeçalho de Bytes Mágicos | 3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml) | 7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header |
Visão Geral e Aplicações do Formato
Os dados geográficos frequentemente transitam entre ferramentas de mapeamento de desktop e aplicações web. O Google KML é o formato padrão utilizado pelo Google Earth, estruturando pontos, linhas e polígonos dentro de uma árvore XML. Navegadores web modernos e bibliotecas de mapeamento como Mapbox e Leaflet preferem GeoJSON porque ele corresponde nativamente às estruturas de dados utilizadas pelo JavaScript. Desenvolvedores e analistas de SIG convertem KML para GeoJSON para carregar sobreposições de mapas rapidamente em páginas web sem a necessidade de softwares de desktop especializados. As aplicações web processam JSON instantaneamente em comparação com a análise de grandes documentos XML. Quando os usuários carregam um mapa web, um arquivo GeoJSON alimenta diretamente os motores de renderização vetorial. Esta conversão elimina a sobrecarga de traduzir tags XML durante a execução. Ela permite que os mapas exibam milhares de elementos suavemente, mantendo geometrias de coordenadas precisas.
Especificações Técnicas e Análise de Codecs
O Google KML utiliza o tipo MIME application/vnd.google-earth.kml+xml e depende de sintaxe de texto XML, ou de um contêiner ZIP conhecido como KMZ quando compactado. O GeoJSON utiliza o tipo MIME application/geo+json e consiste em texto simples descompactado estruturado como um objeto JSON. Os arquivos KML geralmente começam com bytes de declaração XML padrão, enquanto os arquivos compactados KMZ iniciam com os bytes de cabeçalho de arquivo local ZIP 50 4B 03 04. Os arquivos GeoJSON iniciam com o caractere ASCII '{' representando o objeto JSON raiz. O processo de conversão analisa a árvore do documento XML, extrai matrizes de coordenadas e tags de metadados, e os reescreve em coleções de feições JSON compatíveis com a RFC 7946 sem perder a precisão das coordenadas.
Compatibilidade com SO e Navegador
Ambos os formatos funcionam em todos os sistemas operacionais modernos, incluindo Windows, macOS, Linux, iOS e Android. O GeoJSON é executado nativamente em todos os navegadores web modernos, como Chrome, Firefox, Safari e Edge, pois os navegadores analisam o JSON de forma nativa. O Google KML requer software de desktop especializado, como o Google Earth, ou ferramentas de tradução, como o QGIS, para renderizar corretamente, uma vez que os navegadores web não conseguem exibir arquivos KML nativamente sem bibliotecas de análise de terceiros.
💡 Informações úteis
Certifique-se sempre de que o seu KML de origem utiliza coordenadas geográficas WGS 84 antes de converter para GeoJSON para evitar erros de desvio espacial nos seus mapas web.
Comparação de Formatos e Especificações Técnicas
Um arquivo KML padrão de 5 megabytes é convertido em um arquivo GeoJSON de aproximadamente 4,2 megabytes. Em uma rede móvel 4G operando a 30 megabits por segundo, o download deste arquivo leva cerca de 1,1 segundos. Em uma rede 5G operando a 150 megabits por segundo, a transferência termina em 0,2 segundos. Em uma conexão de fibra Gigabit, o arquivo é transferido instantaneamente em menos de 0,05 segundos.
Perguntas Frequentes
Como converter Google KML para GeoJSON sem perder qualidade?
A conversão é matematicamente sem perdas para os dados de coordenadas. Ambos os formatos armazenam coordenadas geográficas utilizando o sistema de referência espacial WGS 84. No entanto, regras de estilo específicas no KML, como URLs de ícones personalizados e alturas complexas de extrusão de polígonos, podem não ter equivalentes diretos no GeoJSON padrão e podem exigir recriação manual.
Qual é a diferença entre Google KML e GeoJSON?
O Google KML é uma linguagem baseada em XML projetada para navegadores da Terra, apresentando uma estrutura de nós hierárquica que suporta estilos ricos, vistas de câmera e elementos 3D. O GeoJSON é um formato leve construído sobre JSON, otimizado para APIs web e gráficos vetoriais com uma estrutura plana contendo coleções de feições, geometrias e propriedades simples.