Konvertering fra Google KML til GeoJSON
Konvertering af Google KML-filer til GeoJSON omdanner hierarkiske XML-geografidata til letvægts-vektor JavaScript Object Notation til moderne webkort.
Formatsammenligning & tekniske specifikationer
| Specifikation | KML | GEOJSON |
|---|---|---|
| MIME-type | application/vnd.google-earth.kml+xml | application/geo+json |
| Type | geographic XML notation | geographic vector JSON |
| Komprimering | XML text (KMZ when ZIP compressed) | none (JSON text) |
| Standardspecifikation | OGC KML 2.3 | IETF RFC 7946 |
| Magic Bytes-header | 3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml) | 7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header |
Format-oversigt og anvendelse
Geografiske data flyttes ofte mellem kortlægningsværktøjer til skrivebordet og webapplikationer. Google Kml er standardformatet, der bruges af Google Earth, og som opbygger punkter, linjer og polygoner i et XML-træ. Moderne webbrowsere og kortlægningsbiblioteker som Mapbox og Leaflet foretrækker GeoJSON, fordi det matcher de datastrukturer, som JavaScript bruger naturligt. Udviklere og GIS-analytikere konverterer KML til GeoJSON for hurtigt at indlæse kortoverlejringer på websider uden behov for specialiseret skrivebordssoftware. Webapplikationer behandler JSON øjeblikkeligt sammenlignet med at fortolke store XML-dokumenter. Når brugere indlæser et webkort, fødes en GeoJSON-fil direkte ind i vektor-gengivelsesmotorer. Denne konvertering fjerner besværet med at oversætte XML-tags under kørsel. Det gør det muligt for kort at vise tusindvis af elementer glat, samtidig med at præcise koordinatgeometrier opretholdes.
Tekniske specifikationer og codec-oversigt
Google KML bruger MIME-typen application/vnd.google-earth.kml+xml og er afhængig af XML-tekstsyntax eller en ZIP-beholder kendt som KMZ, når den er komprimeret. GeoJSON bruger MIME-typen application/geo+json og består af ukomprimeret almindelig tekst struktureret som et JSON-objekt. KML-filer starter ofte med standard XML-erklæringsbyte, mens KMZ-arkiver starter med ZIP-lokale filhovedbyte 50 4B 03 04. GeoJSON-filer starter med ASCII-tegnet '{', der repræsenterer rod-JSON-objektet. Konverteringsprocessen fortolker XML-dokumenttræet, udtrækker koordinatmatricer og metadatatags og omskriver dem til RFC 7946-kompatible JSON-egenskabssamlinger uden at miste koordinatpræcision.
OS- og browserkompatibilitet
Begge formater fungerer på tværs af alle moderne operativsystemer, herunder Windows, macOS, Linux, iOS og Android. GeoJSON kører indfødt i alle moderne webbrowsere såsom Chrome, Firefox, Safari og Edge, fordi browsere fortolker JSON naturligt. Google KML kræver specialiseret skrivebordssoftware som Google Earth eller oversættelsesværktøjer som QGIS for at blive gengivet korrekt, da webbrowsere ikke kan vise KML-filer uden tredjeparts-fortolkningsbiblioteker.
💡 Nyttig information
Kontroller altid, at din kilde-KML bruger WGS 84-geografiske koordinater før konvertering til GeoJSON for at forhindre spatiale forskydningsfejl på dine webkort.
Formatsammenligning & tekniske specifikationer
En standard KML-fil på 5 megabyte konverteres til en GeoJSON-fil på ca. 4,2 megabyte. På et 4G-mobilnetværk med 30 megabit pr. sekund tager det ca. 1,1 sekund at downloade denne fil. På et 5G-netværk med 150 megabit pr. sekund afsluttes overførslen på 0,2 sekunder. På en gigabit-fiberforbindelse overføres filen øjeblikkeligt på under 0,05 sekunder.
Ofte stillede spørgsmål
Hvordan konverterer man Google KML til GeoJSON uden at miste kvalitet?
Konverteringen er matematisk tabsfri for koordinatdata. Begge formater gemmer geografiske koordinater ved hjælp af WGS 84-koordinatsystemet. Specifikke typografiregler i KML, såsom brugerdefinerede ikon-URL'er og komplekse polygon-ekstruderingshøjder, har dog muligvis ikke direkte modstykker i standard GeoJSON og kan kræve manuel genskabelse.
Hvad er forskellen mellem Google KML og GeoJSON?
Google KML er et XML-baseret sprog designet til jorden-browsere, med en hierarkisk nodestruktur, der understøtter rig formatering, kameravisninger og 3D-elementer. GeoJSON er et letvægtsformat bygget på JSON, optimeret til web-API'er og vektorgrafik med en flad struktur, der indeholder egenskabssamlinger, geometrier og simple egenskaber.