Convertor din Google KML în GeoJSON
Conversia fișierelor Google KML în format GeoJSON transformă datele geografice XML ierarhice în obiecte vectoriale ușoare JavaScript Object Notation pentru hărți web moderne.
Compararea formatelor și specificații tehnice
| Specificație | KML | GEOJSON |
|---|---|---|
| Tip MIME | application/vnd.google-earth.kml+xml | application/geo+json |
| Tip | geographic XML notation | geographic vector JSON |
| Compresie | XML text (KMZ when ZIP compressed) | none (JSON text) |
| Specificație standard | OGC KML 2.3 | IETF RFC 7946 |
| Antet 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 |
Prezentare generală a formatului și aplicații
Datele geografice sunt adesea transferate între instrumente de cartografiere desktop și aplicații web. Google KML este formatul standard utilizat de Google Earth, care structurează puncte, linii și poligoane în cadrul unui arbore XML. Browserele web moderne și bibliotecile de cartografiere precum Mapbox și Leaflet preferă GeoJSON deoarece corespunde structurilor de date utilizate nativ de JavaScript. Dezvoltatorii și analiștii GIS convertesc KML în GeoJSON pentru a încărca rapid suprapuneri de hărți pe paginile web, fără a fi nevoie de software desktop specializat. Aplicațiile web procesează JSON instantaneu în comparație cu analizarea documentelor XML mari. Când utilizatorii încarcă o hartă web, un fișier GeoJSON se alimentează direct în motoarele de randare vectorială. Această conversie elimină suprasolicitarea traducerii etichetelor XML în timpul executării. Permite hărților să afișeze mii de elemente în mod fluid, menținând în același timp geometrii de coordonate precise.
Specificații tehnice și detaliere codec
Google KML utilizează tipul MIME application/vnd.google-earth.kml+xml și se bazează pe sintaxa text XML sau pe un container ZIP cunoscut sub numele de KMZ atunci când este comprimat. GeoJSON utilizează tipul MIME application/geo+json și constă în text simplu necomprimat, structurat ca obiect JSON. Fișierele KML încep adesea cu octeți de declarație XML standard, în timp ce arhivele KMZ încep cu octeții antetului de fișier local ZIP 50 4B 03 04. Fișierele GeoJSON încep cu caracterul ASCII „{" care reprezintă obiectul JSON rădăcină. Procesul de conversie analizează arborele documentului XML, extrage matricele de coordonate și etichetele de metadate și le rescrie în colecții de caracteristici JSON conforme cu RFC 7946, fără a pierde precizia coordonatelor.
Compatibilitate SO și browser
Ambele formate funcționează pe toate sistemele de operare moderne, inclusiv Windows, macOS, Linux, iOS și Android. GeoJSON rulează nativ în toate browserele web moderne, cum ar fi Chrome, Firefox, Safari și Edge, deoarece browserele analizează JSON nativ. Google KML necesită software desktop specializat, cum ar fi Google Earth, sau instrumente de traducere, cum ar fi QGIS, pentru a fi redat corect, deoarece browserele web nu pot afișa nativ fișiere KML fără biblioteci de analiză terțe.
💡 Informații utile
Verificați întotdeauna dacă fișierul KML sursă utilizează coordonate geografice WGS 84 înainte de conversia în GeoJSON, pentru a preveni erorile de decalaj spațial de pe hărțile web.
Compararea formatelor și specificații tehnice
Un fișier KML standard de 5 megabytes se convertește într-un fișier GeoJSON de aproximativ 4,2 megabytes. Pe o rețea mobilă 4G care rulează la 30 megabiți pe secundă, descărcarea acestui fișier durează aproximativ 1,1 secunde. Pe o rețea 5G care rulează la 150 megabiți pe secundă, transferul se termină în 0,2 secunde. Pe o conexiune Gigabit Fiber, fișierul se transferă instantaneu în mai puțin de 0,05 secunde.
Întrebări frecvente
Cum convertiți Google KML în GeoJSON fără a pierde calitatea?
Conversia este fără pierderi matematice pentru datele de coordonate. Ambele formate stochează coordonatele geografice utilizând sistemul de referință spațială WGS 84. Cu toate acestea, regulile de stil specifice din KML, cum ar fi adresele URL ale pictogramelor personalizate și înălțimile complexe de extrudare a poligoanelor, pot să nu aibă echivalente directe în GeoJSON standard și pot necesita o recreere manuală.
Care este diferența dintre Google KML și GeoJSON?
Google KML este un limbaj bazat pe XML conceput pentru browserele Earth, având o structură de noduri ierarhică care acceptă stiluri bogate, vizualizări ale camerei și elemente 3D. GeoJSON este un format ușor construit pe bază de JSON, optimizat pentru interfețe API web și grafică vectorială, cu o structură plată care conține colecții de caracteristici, geometrii și proprietăți simple.