Convertitore da Google KML a GeoJSON
La conversione di file Google KML in GeoJSON trasforma dati geografici XML gerarchici in vettori leggeri in formato JavaScript Object Notation per mappe web moderne.
Confronto formati e specifiche tecniche
| Specifica | KML | GEOJSON |
|---|---|---|
| Tipo MIME | application/vnd.google-earth.kml+xml | application/geo+json |
| Tipo | geographic XML notation | geographic vector JSON |
| Compressione | XML text (KMZ when ZIP compressed) | none (JSON text) |
| Specifica standard | OGC KML 2.3 | IETF RFC 7946 |
| Intestazione Magic Bytes | 3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml) | 7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header |
Panoramica del formato e applicazioni
I dati geografici vengono spesso trasferiti tra strumenti di mappatura desktop e applicazioni web. Google Kml è il formato standard utilizzato da Google Earth, che struttura punti, linee e poligoni all'interno di un albero XML. I browser web moderni e le librerie di mappatura come Mapbox e Leaflet preferiscono GeoJSON poiché corrisponde in modo nativo alle strutture dati utilizzate da JavaScript. Sviluppatori e analisti GIS convertono KML in GeoJSON per caricare rapidamente sovrapposizioni di mappe sulle pagine web senza la necessità di software desktop specializzati. Le applicazioni web elaborano JSON istantaneamente rispetto all'analisi di grandi documenti XML. Quando gli utenti caricano una mappa web, un file GeoJSON viene inviato direttamente ai motori di rendering vettoriale. Questa conversione elimina il sovraccarico di traduzione dei tag XML durante il runtime, consentendo alle mappe di visualizzare migliaia di elementi in modo fluido mantenendo geometrie di coordinate precise.
Specifiche tecniche e analisi dei codec
Google KML utilizza il tipo MIME application/vnd.google-earth.kml+xml e si basa sulla sintassi di testo XML o su un contenitore ZIP noto come KMZ quando è compresso. GeoJSON utilizza il tipo MIME application/geo+json ed è costituito da testo semplice non compresso strutturato come oggetto JSON. I file KML iniziano spesso con i byte di dichiarazione XML standard, mentre gli archivi KMZ iniziano con i byte di intestazione del file locale ZIP 50 4B 03 04. I file GeoJSON iniziano con il carattere ASCII '{' che rappresenta l'oggetto JSON radice. Il processo di conversione analizza l'albero del documento XML, estrae matrici di coordinate e tag di metadati, e li riscrive in raccolte di elementi JSON conformi a RFC 7946 senza perdere la precisione delle coordinate.
Compatibilità con sistemi operativi e browser
Entrambi i formati funzionano su tutti i sistemi operativi moderni, inclusi Windows, macOS, Linux, iOS e Android. GeoJSON viene eseguito in modo nativo in tutti i browser Web moderni come Chrome, Firefox, Safari e Edge perché i browser analizzano nativamente il formato JSON. Google KML richiede software desktop specializzati come Google Earth o strumenti di traduzione come QGIS per essere visualizzato correttamente, poiché i browser Web non possono visualizzare in modo nativo i file KML senza librerie di analisi di terze parti.
💡 Informazioni utili
Verifica sempre che il tuo KML di origine utilizzi le coordinate geografiche WGS 84 prima di convertirlo in GeoJSON per prevenire errori di offset spaziale sulle tue mappe web.
Confronto formati e specifiche tecniche
Un file KML standard da 5 megabyte viene convertito in un file GeoJSON di circa 4.2 megabyte. Su una rete mobile 4G a 30 megabit al secondo, il download di questo file richiede circa 1.1 secondi. Su una rete 5G a 150 megabit al secondo, il trasferimento termina in 0.2 secondi. Su una connessione in fibra Gigabit, il file viene trasferito istantaneamente in meno di 0.05 secondi.
Domande frequenti
Come convertire Google KML in GeoJSON senza perdere qualità?
La conversione è matematicamente priva di perdite per i dati delle coordinate. Entrambi i formati memorizzano le coordinate geografiche utilizzando il sistema di riferimento spaziale WGS 84. Tuttavia, le regole di stile specifiche in KML, come gli URL di icone personalizzate e le altezze di estrusione dei poligoni complessi, potrebbero non avere equivalenti diretti nel formato GeoJSON standard e potrebbero richiedere una ricreazione manuale.
Qual è la differenza tra Google KML e GeoJSON?
Google KML è un linguaggio basato su XML progettato per i browser della Terra, caratterizzato da una struttura a nodi gerarchica che supporta stili avanzati, viste della telecamera ed elementi 3D. GeoJSON è un formato leggero basato su JSON, ottimizzato per API web e grafica vettoriale con una struttura piatta contenente raccolte di elementi, geometrie e proprietà semplici.