KMZ

O que é um arquivo KMZ?

Um arquivo KML junto com as suas imagens e ícones, compactados num arquivo só.

O que é KMZ

KMZ é um contêiner: um invólucro para fluxos que outra coisa codificou. Ele é usado para mapas.

A extensão é .kmz e o nome por extenso é Zipped KML. Os dois importam menos do que aquilo que o arquivo consegue carregar, e é disso que trata o resto desta página.

De onde vem KMZ

Ele vem da Keyhole. A especificação é OGC KML 2.3.

A idade interessa por um motivo prático: quanto mais antigo o formato, mais programas tiveram tempo de aprendê-lo.

A especificação é pública

Ela está publicada por inteiro, então dá para implementá-la a partir do documento em vez de por observação — é por isso que o formato aparece em tantos programas e por isso que arquivos escritos há vinte anos ainda abrem. Especificação publicada não é o mesmo que livre de royalties: quando o formato embrulha um codec, o licenciamento das patentes é uma questão à parte, que a norma não resolve.

Nada é jogado fora

KMZ guarda o conteúdo exatamente. Salvar de novo não muda nada, então dá para abrir, editar e salvar quantas vezes você quiser sem acumular estrago — e é isso que faz dele um formato de trabalho e não de entrega.

Ele pode carregar uma pasta inteira

KMZ guarda um diretório: nomes, pastas e a estrutura entre eles. É isso que permite a ele substituir uma pasta num anexo de e-mail.

O que abre KMZ

Google Earth e QGIS leem esse formato, e a maioria dos programas do mesmo tipo também.

Quando um arquivo não abre, o formato raramente é o problema — mais comum é o programa ser mais antigo que ele. Converter para algo mais antigo é o caminho confiável, e é para isso que serve o resto deste site.

Abrir no navegador

Nenhum navegador lê o formato.

Esse é de longe o motivo mais comum para convertê-lo: não que o formato seja ruim, mas que o lugar onde você quer mostrar o arquivo não consegue lê-lo.

É um formato de trabalho

KMZ foi feito para ser aberto e alterado. Mantenha o arquivo nesse formato enquanto o trabalho estiver em andamento e exporte a partir dele sempre que precisar de uma cópia pronta.

Um ZIP com um mapa dentro

Um KMZ é um arquivo ZIP comum contendo um documento KML e tudo que esse documento referencia: ícone de marcador personalizado, fotografia, imagem de sobreposição de terreno, ocasionalmente um modelo 3D. Renomeie para .zip e qualquer descompactador abre, o que não é um truque — é como o formato é especificado.

O KML dentro costuma se chamar doc.kml e fica na raiz do arquivo. Tudo o mais vive em pastas ao lado dele, referenciado por caminho relativo, o que torna o pacote inteiro portátil de um jeito que um KML solto nunca é.

Por que o Google Earth grava assim, e não como KML

Porque um KML referenciando imagens do seu próprio computador não mostra nada na máquina de outra pessoa. No momento em que um mapa usa um ícone personalizado, uma fotografia num balão ou uma sobreposição, o arquivo deixa de ser autocontido, e compartilhar produz um mapa com pedaço faltando e nenhuma explicação.

Empacotar resolve isso por completo. Tudo viaja junto, os caminhos relativos continuam resolvendo, e o destinatário abre um arquivo só. O Google Earth usa KMZ como padrão exatamente por isso, e é o padrão certo até para um mapa sem imagem nenhuma ainda — porque uma vai ser adicionada eventualmente.

A diferença de tamanho não é pequena

KML é XML verboso, e listas de coordenadas em particular são texto enormemente redundante. Compactar costuma reduzir um conjunto de dados grande para uma fração pequena do tamanho, às vezes bem menos, e isso antes de qualquer imagem entrar na conta.

Para um arquivo enviado por e-mail ou colocado atrás de um link, isso importa. Para um arquivo sendo editado, não importa — descompacte, trabalhe no KML num editor de texto ou no Google Earth, e reempacote. Nada se perde em nenhuma das direções, porque compressão é tudo que o contêiner está fazendo.

Quando descompactar

Três situações. Uma ferramenta que lê KML mas não KMZ, mais comum do que deveria entre utilitários de SIG e visualizadores web. Uma edição em massa — uma busca e substituição em duas mil descrições de marcador é uma operação de texto e quer o arquivo bruto. E diagnóstico, quando um mapa não mostra nada e você precisa saber se as imagens de fato estão dentro do pacote ou só referenciadas.

Esse último é o mais útil. Abra o arquivo, olhe as pastas, e compare o que está ali contra o que o KML pede. Um ícone ou sobreposição faltando aparece na hora, e isso explica uma classe de problema que de outra forma é invisível de dentro do Google Earth.

O que ainda pode estar faltando num KMZ

Empacotar protege arquivo local. Não faz nada por um remoto. Um KML que puxa uma sobreposição de um endereço web, ou usa um link de rede para buscar dado ao vivo, ainda depende de aquele servidor estar no ar — e um KMZ construído em torno de um desses são alguns kilobytes que não mostram nada quando a origem sai do ar.

A outra lacuna é fonte e formatação dentro de balões de descrição, que são HTML. Um balão estilizado com uma fonte que o destinatário não tem, ou apontando para uma imagem na web, degrada do mesmo jeito que qualquer página web. Se um mapa precisa funcionar offline e para sempre, tudo que ele precisa tem que ser um arquivo dentro do pacote.

Construindo um você mesmo

Compacte o KML e as pastas de recursos juntos, com o KML na raiz do arquivo, e renomeie o resultado para .kmz. É o processo inteiro — não há ferramenta especial nem manifesto para escrever.

Dois detalhes valem a atenção. Compacte o conteúdo, não a pasta que envolve, ou todo caminho dentro do KML ganha um nível de diretório a mais e nada resolve. E mantenha os caminhos relativos como estão: as referências dentro do KML são o que a estrutura do arquivo precisa bater, então o layout de pasta não é cosmético.

Onde um KMZ pode ser aberto

Google Earth, no computador, no celular e na versão de navegador. O Google My Maps importa um direto, o jeito comum de um mapa compartilhado acabar na web. O QGIS lê para trabalho de análise, e a maioria dos softwares sérios de SIG também, embora vários prefiram receber convertido antes.

O que não abre um é um navegador sozinho, uma prévia de cliente de e-mail, ou qualquer visualizador de arquivo genérico. Mandar um KMZ para alguém que ainda não usa Google Earth significa mandar um arquivo e uma instrução, o que vale saber antes de virar uma conversa de suporte — um link para uma visualização do My Maps costuma ser a coisa melhor a mandar.

Os dados, num lugar só

Identificadores e procedência do formato KMZ.
Extensão.kmz
Tipo de mídiaapplication/vnd.google-earth.kmz
Publicado porKeyhole
EspecificaçãoOGC KML 2.3