Converter GeoJSON para KML
A conversão de vetores GeoJSON para Google KML transforma arrays de coordenadas JSON leves em documentos XML estruturados para uso no Google Earth e no Google Maps.
Comparação de formatos e especificações técnicas
| Especificação | GEOJSON | KML |
|---|---|---|
| Tipo MIME | application/ | application/ |
| Tipo | vetor geográfico JSON | notação geográfica XML |
| Compressão | nenhum (texto JSON) | texto XML (KMZ quando compactado em ZIP) |
| Especificação padrão | IETF RFC 7946 | OGC KML 2.3 |
| Assinatura binária (magic bytes) | 7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header | 3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml) |
Visão geral e aplicações do formato
Dados vetoriais geográficos costumam ser capturados e compartilhados em GeoJSON, pois desenvolvedores web e bibliotecas JavaScript de mapas trabalham naturalmente com esse formato. No entanto, programas GIS para desktop, como Google Earth e outros visualizadores de globo antigos, exigem Keyhole Markup Language, ou KML. A conversão permite que pesquisadores de campo e cartógrafos visualizem polígonos de limites extraídos da web, pontos de telemetria de drones e rotas de ativos municipais em globos virtuais sem escrever scripts personalizados. A conversão de GeoJSON para KML também conecta APIs web de código aberto a ferramentas de mapas voltadas ao público. Muitos planejadores urbanos coletam dados com bibliotecas como Leaflet ou Mapbox, que geram arquivos GeoJSON. Quando as equipes precisam analisar essas mesmas camadas em um ambiente 3D para desktop, converter geometrias, atributos de estilo e metadados em nós XML permite renderizar corretamente ícones, espessuras de linha e cores de preenchimento.
Especificações técnicas e análise de codecs
GeoJSON usa o tipo MIME application/geo+json e representa pontos, linhas e polígonos em JavaScript Object Notation de texto simples. Não tem assinatura binária e se baseia em caracteres ASCII ou UTF-8, com pares de chave e valor como "type": "FeatureCollection". Já Google KML usa o tipo MIME application/vnd.google-earth.kml+xml e organiza elementos espaciais em tags XML, como <Placemark>, <Point> e <Polygon>. Nenhum dos formatos usa compressão com perdas no texto. Arquivos KML podem ser compactados em arquivos KMZ com DEFLATE, reunindo dados vetoriais e ícones de imagem locais.
Compatibilidade com sistemas operacionais e navegadores
Ambos os formatos funcionam em sistemas operacionais atuais, incluindo Windows, macOS, Linux, iOS e Android. Navegadores atuais analisam strings GeoJSON com mecanismos JavaScript padrão. Google KML exige analisadores especializados ou programas de visualização de globo, como Google Earth Pro. Navegadores móveis não exibem arquivos KML brutos diretamente sem um aplicativo auxiliar ou pré-renderização no servidor.
Informações úteis
Ao converter conjuntos de dados grandes, com milhares de polígonos complexos, divida o GeoJSON de origem em arquivos regionais menores antes de exportar para KML. Isso ajuda a evitar falhas de memória em aplicativos de mapas voltados ao público.
Perguntas frequentes
Como converter GeoJSON para Google KML sem perder qualidade?
A conversão preserva as coordenadas vetoriais, que ambos os formatos armazenam como valores numéricos exatos de latitude e longitude. O processo mapeia as chaves GeoJSON para elementos XML KML correspondentes sem alterar a precisão das coordenadas. No entanto, estilos personalizados podem exigir mapeamento manual se o software de destino interpretar atributos não padronizados de outra forma.
Qual é a diferença entre GeoJSON e Google KML?
GeoJSON é um formato de texto leve baseado na sintaxe JSON, criado para APIs de mapas web e processamento em JavaScript. Google KML é uma linguagem baseada em XML, criada para o Google Earth, com suporte integrado a ajuste de altitude 3D, pontos de vista personalizados, hierarquias de pastas aninhadas e ícones incorporados.