KMZ

Che cos’è un file KMZ?

Un file KML insieme alle sue immagini e icone, compresso in un unico file.

Che cos’è KMZ

KMZ è un contenitore: un involucro per flussi codificati da qualcos’altro. Si usa per le mappe.

L’estensione è .kmz e il nome per esteso è Zipped KML. Contano entrambi meno di ciò che il file può contenere, ed è di questo che parla il resto della pagina.

Da dove viene KMZ

Viene da Keyhole. La specifica è OGC KML 2.3.

L’età serve saperla per un motivo pratico: più un formato è vecchio, più programmi hanno avuto tempo di impararlo.

La specifica è pubblica

È pubblicata per intero, quindi la si può implementare partendo dal documento invece che per osservazione: è per questo che il formato compare in così tanti programmi, ed è per questo che file scritti vent’anni fa si aprono ancora. Una specifica pubblicata però non è la stessa cosa di una esente da royalty: dove un formato incapsula un codec, le licenze sui brevetti restano una questione a parte che lo standard non risolve.

Non si butta via niente

KMZ conserva il suo contenuto esattamente. Risalvarlo non cambia nulla, quindi puoi aprirlo, modificarlo e risalvarlo quante volte vuoi senza accumulare danni: è questo che ne fa un formato di lavoro e non di consegna.

Può contenere un’intera cartella

KMZ conserva una directory: nomi, cartelle e la struttura in mezzo. È questo che gli permette di sostituire una cartella in un allegato di posta.

Che cosa apre KMZ

Google Earth e QGIS lo leggono, e così fanno quasi tutti i programmi dello stesso tipo.

Quando un file non si apre, il formato è raramente il problema: più spesso è il programma a essere più vecchio di lui. Convertire in qualcosa di più vecchio è la via d’uscita affidabile, ed è a questo che serve il resto di questo sito.

Aprirlo nel browser

Nessun browser lo legge.

È di gran lunga il motivo più comune per convertirlo: non che il formato sia scadente, ma che il posto in cui vuoi mostrare il file non sappia leggerlo.

È un formato di lavoro

KMZ è pensato per essere aperto e modificato. Tieni il file in questo formato per tutto il tempo in cui il lavoro va avanti, ed esporta da lì ogni volta che serve una copia finita.

Uno ZIP con dentro una mappa

Un KMZ è un normale file ZIP che contiene un documento KML e tutto ciò a cui quel documento fa riferimento: icone personalizzate dei segnaposto, fotografie, sovrapposizioni sul terreno e, occasionalmente, un modello. Rinominatelo in .zip e lo apre qualsiasi gestore di archivi, e non è un trucco: è come il formato è definito.

Il KML interno si chiama per convenzione doc.kml ed è alla radice del pacchetto. Il resto vive in cartelle accanto, referenziato tramite percorsi relativi, ed è ciò che rende l’insieme portabile in un modo che un KML isolato non è mai.

Perché Google Earth scrive KMZ e non KML

Perché un KML che punta a immagini sul vostro stesso computer non mostra nulla su quello di qualcun altro. Non appena una mappa usa un’icona propria, una fotografia dentro un fumetto informativo o una sovrapposizione, il file smette di bastare a sé stesso, e condividerlo produce una mappa piena di buchi e senza spiegazione.

Impacchettare risolve tutto: ogni cosa viaggia insieme, i percorsi relativi continuano a funzionare e chi lo riceve apre un unico file. Google Earth usa KMZ per default esattamente per questo, ed è la scelta giusta anche per una mappa che ancora non ha immagini, perché finirà per averne.

La differenza di dimensione non è piccola

Il KML è XML prolisso, e le liste di coordinate in particolare sono testo enormemente ridondante. Comprimere porta di norma un dataset grande a un quinto della sua dimensione, a volte a un decimo, e questo prima ancora di considerare le immagini.

Per un file inviato via email o pubblicato dietro un link, questo conta. Per uno in fase di modifica, no: decomprimete, lavorate sul KML in un editor di testo o in Google Earth, e ricomprimete. Non si perde nulla in nessuna delle due direzioni, perché comprimere è tutto ciò che fa il contenitore.

Quando conviene decomprimerlo

In tre situazioni. Quando uno strumento legge KML e non KMZ, cosa più frequente di quanto dovrebbe fra utility GIS e visualizzatori web. Quando serve una modifica in massa, perché cercare e sostituire in duemila descrizioni di segnaposto è un’operazione testuale e vuole il file grezzo. E quando serve diagnosticare, perché una mappa non mostra nulla e dovete sapere se le immagini sono davvero nel pacchetto o solo referenziate.

Quest’ultimo caso è il più utile. Aprite il pacchetto, guardate le cartelle e confrontate ciò che c’è con ciò che il KML richiede. Un’icona o una sovrapposizione mancante compaiono subito, e questo spiega una classe di problemi che dall’interno di Google Earth è semplicemente invisibile.

Ciò che impacchettare ancora non può garantire

L’impacchettamento protegge i file locali e non fa nulla per quelli remoti. Un KML che carica una sovrapposizione da un URL, o che usa un link di rete per richiedere dati in tempo reale, dipende comunque dall’esistenza di quel server, e un KMZ costruito attorno a uno di questi sono pochi kilobyte che non mostrano nulla non appena la fonte scompare.

L’altra lacuna sono i font e la formattazione dentro i fumetti descrittivi, che sono HTML. Un fumetto impaginato con un font che chi lo riceve non possiede, o che punta a un’immagine sul web, si degrada come qualsiasi pagina. Se una mappa deve funzionare offline in modo permanente, tutto ciò che le serve deve essere un file dentro il pacchetto.

Costruirne uno a mano

Comprimete il KML insieme alle sue cartelle di risorse, con il KML alla radice del pacchetto, e rinominate il risultato in .kmz. È tutto il procedimento: non c’è uno strumento speciale né un manifesto da scrivere.

Due dettagli da azzeccare. Comprimete il contenuto e non la cartella che lo avvolge, altrimenti ogni percorso dentro il KML guadagna un livello di directory e smette di funzionare. E non toccate i percorsi relativi: i riferimenti dentro il KML sono ciò che la struttura del pacchetto deve riprodurre, quindi la disposizione delle cartelle non è cosmetica.

Dove si apre un KMZ

Google Earth, su desktop, mobile e nella versione browser. Google My Maps lo importa direttamente, la via abituale con cui una mappa condivisa finisce sul web. QGIS lo legge per lavoro analitico, e la maggior parte del software GIS serio pure, anche se molti preferiscono convertirlo prima in GeoJSON o Shapefile.

Ciò che non apre un KMZ è un browser da solo, l’anteprima di un client di posta o un visualizzatore di file generico. Inviare un KMZ a chi non usa già Google Earth significa inviargli un file e un’istruzione, cosa da sapere prima che diventi una conversazione di supporto: spesso la cosa migliore da mandare è il link a una vista di My Maps.

Qui esce solo il KML, e nemmeno per intero

Convertendo un KMZ su questo sito, tutto ciò che sta nel pacchetto e non è il KML resta fuori: icone, fotografie e sovrapposizioni non hanno destinazione in un GPX o in un CSV. Anche ciò che viene letto dal KML non è tutto: il convertitore conserva per ogni punto latitudine, longitudine e, se presenti, altitudine e marca temporale, più un nome per percorso o punto d’interesse, e nient’altro sta in quella forma.

L’elenco di ciò che si perde è lungo e vale la pena leggerlo prima di convertire: gli stili e le icone, le descrizioni, i dati estesi, le sovrapposizioni sul terreno e i link di rete; e sul lato sportivo, frequenza cardiaca, cadenza, potenza, temperatura, calorie, struttura dei giri, velocità, numero di satelliti ed estensioni GPX. Le coordinate vengono scritte con sei decimali, circa 11 cm sul terreno, e le marche temporali vengono copiate esattamente come arrivavano, senza riformattarle. Tutto questo avviene nel vostro browser, con un tetto di 100 MB per file e 100 file per gruppo.

I dati, in un posto solo

Identificativi e provenienza del formato KMZ.
Estensione.kmz
Tipo di mediaapplication/vnd.google-earth.kmz
Pubblicato daKeyhole
SpecificaOGC KML 2.3