Convertire GPX in KML

Qui converti GPX in KML gratis e senza account: trascina il file qui sopra e in un paio di secondi il risultato è pronto da scaricare. La conversione avviene dentro il tuo browser, quindi il file non viene mai caricato. Funziona allo stesso modo su Windows, macOS e Linux e anche su iPhone e Android, e continua a funzionare anche se stacchi la connessione.

  • Dove gira Nel tuo browser. Il file non viene mai caricato.
  • Ricostruito KML funziona in modo diverso da GPX. Non è quindi il degrado graduale di un codec con perdita: quello che KML sa esprimere viene riprodotto fedelmente, e quello che lì non ha un equivalente non sopravvive affatto.
  • Limite di dimensione Fino a 100 MB per file, gratis e senza account.
  • Vale la pena saperlo Posizioni, quota e marcature temporali passano. Dati dei sensori, stili e immagini incorporate no.

Fino a 100 file alla volta. Formati diversi insieme non sono un problema.

KML per continuare a lavorare sul file, KMZ per spedirlo

Entrambe le destinazioni si aprono in Google Earth e mostrano la stessa tratta, quindi la scelta fra l’una e l’altra riguarda ciò che verrà fatto dopo, non l’aspetto finale. KML è un documento XML in chiaro che si apre in qualsiasi editor di testo, si confronta con la versione del giorno prima, si carica come layer vettoriale in QGIS o ArcGIS, e si modifica con uno script. È il motivo per cui questa pagina esiste accanto a quella per KMZ.

Se ciò che serve davvero è allegare la traccia a un’email, consegnarla a un collega o caricarla su un servizio che ha chiesto un file per Google Earth, la forma compressa è la risposta migliore e costa soltanto la modificabilità. Lo stesso contenuto misurato qui si riduce di circa un quinto quando viene zippato. KML è la scelta giusta quando il file è un documento di lavoro, KMZ quando è un consegnabile.

La registrazione diventa un disegno, e l’orologio resta indietro

Un trackpoint GPX contiene un elemento `<time>`, ed è ciò che rende un GPX una registrazione anziché un disegno: il file sa non soltanto dove va la linea ma anche quando è stata percorsa ciascuna parte. Una LineString KML non ha nulla di equivalente. È un elenco di coordinate e basta, quindi i timestamp vengono eliminati nella conversione e non possono essere recuperati dall’output.

La conseguenza è concreta. Il cursore temporale di Google Earth, che permette di scorrere una traccia e vederla disegnarsi, non appare per un file convertito — quella funzione si basa su un elemento gx:Track con valori `<when>` paralleli, e questa conversione scrive una LineString semplice. Qualunque calcolo su passo, tempo in movimento o soste va fatto a partire dal GPX. Conservare l’originale accanto al KML è la mossa sensata: i due non sono interscambiabili, e il KML è quello lossy.

La quota entra nelle coordinate, ma viene disegnata sul terreno

Dove un trackpoint GPX portava un valore `<ele>`, la coordinata scritta è una tripla e il terzo slot contiene i metri. Dove non lo portava, la coordinata è una coppia e non c’è un terzo slot da leggere — è la situazione normale per un percorso pianificato nel browser anziché registrato al polso. Quindi il profilo altimetrico di una camminata registrata sopravvive byte per byte, e uno strumento che legge il KML come dato lo troverà; un percorso pianificato non ha niente da trovare, e in nessuno dei due casi si genera un errore.

Google Earth non lo disegnerà, e il motivo è un singolo elemento che manca. La quota in KML è priva di senso senza un `<altitudeMode>` che dica come interpretarla, e quando non ne viene dichiarato nessuno il default è `clampToGround` — la quota viene ignorata e la linea viene adagiata sul terreno. È il default giusto per una traccia, perché la quota GPS oscilla di decine di metri e una linea sospesa in aria sopra un crinale sembra rotta. Se la linea deve essere disegnata in aria, aggiungere `<altitudeMode>absolute</altitudeMode>` alla LineString a mano.

Il flag tessellate, e la linea che taglierebbe la collina

Ogni LineString viene scritta con `<tessellate>1</tessellate>`, ed è lì per correggere un difetto visivo preciso. Fissata al suolo senza tassellatura, Google Earth colloca ciascun vertice sul terreno e poi traccia un segmento rettilineo fra vertici consecutivi. Attraverso una valle o sopra un crinale, quel segmento passa sotto la superficie, e la traccia scompare dentro il fianco della collina per riapparire dall’altra parte.

Con la tassellatura attiva, il motore di rendering suddivide ogni segmento e segue il terreno fra i vertici, così la linea resta visibile lungo tutto il suo percorso. Il costo è una maggiore quantità di geometria da gestire, impercettibile per qualche migliaio di punti e percepibile caricando una dozzina di tracce lunghe insieme. Se un file dovesse mai sembrare lento in Earth, quel flag è la prima cosa da disattivare.

La longitudine passa davanti alla latitudine nel file in uscita

Il GPX scrive latitudine e longitudine come attributi separati del trackpoint, nominati in modo che non ci sia ambiguità. Il KML le scrive come una stringa separata da virgole nell’ordine `longitude,latitude,altitude`, che è l’opposto di quasi ogni altro formato di questa famiglia e la fonte classica di mappe che finiscono nel Golfo di Guinea.

La conversione gestisce lo scambio, e c’è un modo rapido per verificare che lo abbia fatto. Aprire il KML in un editor di testo e guardare la prima coordinata: per un punto in Italia il primo numero sarà piccolo (intorno a 7-15) e il secondo compreso fra 36 e 47. Se il numero grande compare per primo, qualcosa ha invertito di nuovo, e ogni punto del file è sbagliato nello stesso modo.

I waypoint salvati arrivano come pin con il proprio nome

Un elemento `<wpt>` del GPX è un punto che qualcuno ha marcato di proposito — una cima, una sorgente, un parcheggio, il cancello che era chiuso. Ciascuno diventa un Placemark proprio con un `<Point>`, conservando il nome che aveva, così in Google Earth compaiono come pin etichettati nella barra laterale invece di essere fusi nella linea.

La separazione vale la pena perché waypoint e trackpoint hanno significati diversi. Un trackpoint è un campione che il dispositivo ha preso a cadenza regolare; un waypoint è una decisione presa da una persona. Mantenerli come elementi KML distinti permette di nascondere il percorso e tenere i pin, o spostare un pin per correggerlo, senza toccare la linea registrata.

Quali nomi passano, e quale metadato GPX non passa

Tre nomi vengono portati. Il `<name>` dentro il blocco `<metadata>` del GPX diventa il nome del Document KML, quello che compare in cima alla barra laterale di Google Earth. Il `<name>` di ciascuna traccia diventa il nome del suo Placemark. Il nome di ciascun waypoint diventa il nome del pin corrispondente.

Il resto dell’intestazione GPX non passa. Autore, copyright, il link al servizio di registrazione, la descrizione, le parole chiave e il bounding box sono tutti definiti in GPX 1.1 e nessuno di essi viene scritto nel KML. Neppure le estensioni per trackpoint dove gli orologi conservano frequenza cardiaca e cadenza. Se qualcuno di questi è il dato di provenienza che serve conservare, tenere il file GPX accanto al KML è la mossa onesta, perché un file solo non può portare entrambe le cose.

Nessun elemento Style, quindi Earth disegna il proprio default

L’output non contiene alcun `<Style>` né `styleUrl`. Google Earth applica dunque l’aspetto di linea predefinito, e ogni traccia convertita appare identica a ogni altra — esattamente ciò che si vuole quando la si sta per ricolorare, e un po’ scomodo quando se ne caricano otto insieme e le si vorrebbe distinguere.

Aggiungere uno stile in seguito è semplice in entrambe le direzioni. In Google Earth, clic destro sul placemark e scegliere Proprietà imposta colore e spessore, salvandoli nel file. In un editor di testo, un singolo blocco `<Style>` con un `<LineStyle>` di colore e larghezza, richiamato da un `styleUrl` su ciascun placemark, fa la stessa cosa ed è facile da applicare a un’intera cartella di tracce convertite tramite script.

Un file più piccolo che resta in chiaro

Il KML è notevolmente più piccolo del GPX da cui proviene, il che sorprende chi si aspetta che una conversione costi byte. Misurato su una traccia di 7 200 punti — due ore registrate una volta al secondo, con quota e orario su ogni punto — il GPX era circa 950 KB e il KML circa 258 KB. Il sovraccarico dei tag XML è il motivo: il GPX ripete `<trkpt>`, `<ele>` e `<time>` attorno a ogni campione, mentre una LineString enuncia le proprie coordinate una volta e le separa con spazi.

Parte del risparmio deriva dai timestamp che vengono eliminati, dunque non è un pranzo gratis. Ciò che si conserva è un file ancora leggibile e modificabile: si può aprire, trovare un punto fuori posto lanciato dal GPS in un campo a due chilometri, cancellare quella riga e salvare. Fare la stessa modifica su un GPX significa cancellare quattro righe invece di una, e su un KMZ vuol dire prima dezippare.

La traccia viene convertita qui, non inviata altrove

L’analisi del GPX e la scrittura del KML avvengono entrambe in questa scheda del browser. Nessuna richiesta porta il file verso un server, e il pannello di rete lo mostra durante una conversione; la pagina continua a funzionare offline una volta caricata. Non c’è coda di upload né copia lasciata altrove.

Per un file di percorso è una garanzia più forte di quanto sembri. Un GPX da un orologio di solito inizia e finisce a casa di chi lo ha registrato, e gli orari dicono in quali mattine la casa era vuota. Anche con i tempi eliminati nel passaggio al KML, la forma di un tragitto casa-lavoro o di un giro di allenamento identifica una persona e un indirizzo a chiunque lo guardi su una mappa.

Come convertire GPX in KML

  1. Trascina il tuo file GPX su questa pagina, oppure fai clic per sceglierne uno.
  2. Scegli KML come destinazione. La conversione avviene nel tuo browser e il file non viene caricato.
  3. Scarica il file KML finito.

GPX o KML: cosa cambia

GPX a confronto con KML
GPXKML
Nome completoGPS Exchange FormatKeyhole Markup Language
Estensione del file.gpx.kml
Tipo di mediaapplication/gpx+xmlapplication/vnd.google-earth.kml+xml
Prima pubblicazione2002
Pubblicato daTopografixKeyhole
SpecificaGPX 1.1OGC KML 2.3
LicenzaStandard apertoStandard aperto
Situazione attualeAttualeAttuale
Si apre nel browserNessun browserNessun browser
Valutato al suo postoTCXKMZ

Aprire il risultato

QGIS legge sia GPX sia KML, quindi puoi confrontare il risultato con l'originale senza un secondo programma.

A che cosa serve ciascun formato

GPX è il formato di Topografix, pubblicato nel 2002. È descritto in GPX 1.1, e vale la pena conoscerlo se il file deve sopravvivere allo strumento che lo ha scritto.

KML viene da Keyhole, descritto in OGC KML 2.3. Google Earth, QGIS e ArcGIS lo leggono.

Da GPX a KML: domande frequenti

Il mio file GPX viene caricato da qualche parte?

No. Questa conversione avviene interamente nel tuo browser, quindi il file non esce dal tuo dispositivo. Puoi controllarlo da solo: apri la scheda di rete degli strumenti per sviluppatori e converti qualcosa. Vedrai la pagina stessa e le richieste di statistica e di pubblicità con cui questo servizio si paga, e nemmeno una che porti il tuo file.

Convertire GPX in KML è gratis?

Sì. Senza account, senza filigrana e senza una quota giornaliera da consumare: gira sulla tua macchina, quindi puoi tornare quante volte vuoi. Il browser lavora file fino a 100 MB, 100 per volta.

Si perde qualità convertendo GPX in KML?

GPX e KML descrivono il contenuto in modi radicalmente diversi. La conversione è quindi una ricostruzione e non una copia: fedele, ma non identica byte per byte. Posizioni, quota e marcature temporali passano. Dati dei sensori, stili e immagini incorporate no.

Devo installare qualcosa per aprire un file KML?

Per la conversione no: avviene nel browser che hai già aperto. Per aprire il risultato ti serve poi il programma con cui il tuo dispositivo mostra di solito Keyhole Markup Language.

Altro su questi formati