Convertor KML în GeoJSON
Conversia fișierelor KML Google în GeoJSON transformă datele geografice XML ierarhice în obiecte JSON vectoriale ușoare pentru hărți web moderne.
Compararea formatelor și specificații tehnice
| Specificație | KML | GEOJSON |
|---|---|---|
| Tip MIME | application/ | application/ |
| Tip | notație XML geografică | vector geografic JSON |
| Compresie | text XML (KMZ dacă este comprimat în ZIP) | niciuna (text JSON) |
| 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 este transmis direct motoarelor 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 detalii despre codecuri
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 majoritatea sistemelor de operare moderne, inclusiv Windows, macOS, Linux, iOS și Android. GeoJSON rulează nativ în majoritatea browserelor moderne, precum Chrome, Firefox, Safari și Edge, deoarece acestea analizează JSON nativ. Pentru a afișa corect Google KML sunt necesare programe desktop specializate, precum Google Earth, sau instrumente de conversie precum QGIS; browserele web nu pot afișa nativ fișiere KML fără biblioteci de analiză terțe.
Informații utile
Verifică î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.
Întrebări frecvente
Cum convertești 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.