Google KML kuni GeoJSON muundur
Google KML-failide teisendamine GeoJSON-vormingusse muudab hierarhilised XML-põhised geograafilised andmed kergeteks vektorpõhisteks JavaScripti objektinotatsiooni andmeteks tänapäevaste veebikaartide jaoks.
Formaatide võrdlus ja tehnilised spetsifikatsioonid
| Spetsifikatsioon | KML | GEOJSON |
|---|---|---|
| MIME-tüüp | application/vnd.google-earth.kml+xml | application/geo+json |
| Tüüp | geographic XML notation | geographic vector JSON |
| Tihendamine | XML text (KMZ when ZIP compressed) | none (JSON text) |
| Standardne spetsifikatsioon | OGC KML 2.3 | IETF RFC 7946 |
| Tunnuskoodi päis (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 |
Formaadi ülevaade ja kasutusvaldkonnad
Geograafilised andmed liiguvad sageli töölaua kaardistustööriistade ja veebirakenduste vahel. Google Kml on Google Earthi kasutatav standardvorming, mis struktureerib punkte, jooni ja hulknurki XML-puu sees. Tänapäevased veebibrauserid ja kaardistusteegid, nagu Mapbox ja Leaflet, eelistavad GeoJSON-i, kuna see ühildub otseselt JavaScripti andmestruktuuridega. Arendajad ja GIS-analüütikud teisendavad KML-i GeoJSON-iks, et laadida kaardikihid veebilehtedele kiiresti ilma spetsiaalse töölauatarkvarata. Veebirakendused töötlevad JSON-andmeid koheselt, võrreldes suurte XML-dokumentide parsimisega. Kui kasutajad laadivad veebikaardi, suunatakse GeoJSON-fail otse vektorite renderdusmootoritesse. See teisendus kõrvaldab XML-märgendite tõlkimise koormuse käitusajal. See võimaldab kaartidel kuvada tuhandeid objekte sujuvalt, säilitades samal ajal täpsed koordinaatide geomeetriad.
Tehnilised spetsifikatsioonid ja koodekite ülevaade
Google KML kasutab MIME-tüüpi application/vnd.google-earth.kml+xml ja tugineb XML-tekstisüntaksile või tihendamisel KMZ-na tuntud ZIP-konteinerile. GeoJSON kasutab MIME-tüüpi application/geo+json ja koosneb tihendamata lihttekstist, mis on struktureeritud JSON-objektina. KML-failid algavad sageli standardsete XML-deklaratsiooni baitidega, samas kui KMZ-arhiivid algavad ZIP-i kohaliku faili päise baitidega 50 4B 03 04. GeoJSON-failid algavad ASCII-märgiga '{', mis tähistab juur-JSON-objekti. Teisendusprotsess parsib XML-dokumendi puu, eraldab koordinaatide massiivid ja metaandmete märgendid ning kirjutab need ümber RFC 7946 ühilduvateks JSON-objektide kogumiteks, kaotamata koordinaatide täpsust.
OS-i ja brauseri ühilduvus
Mõlemad vormingud töötavad kõigis tänapäevastes operatsioonisüsteemides, sealhulgas Windowsis, macOS-is, Linuxis, iOS-is ja Androidis. GeoJSON töötab natiivselt kõigis tänapäevastes veebibrauserites, nagu Chrome, Firefox, Safari ja Edge, kuna brauserid parsivad JSON-i natiivselt. Google KML nõuab korrektseks renderdamiseks spetsiaalset töölauatarkvara, nagu Google Earth, või tõlketööriistu, nagu QGIS, kuna veebibrauserid ei saa KML-faile kolmandate osapoolte parsimisteekideta natiivselt kuvada.
💡 Kasulik teave
Kontrollige alati enne GeoJSON-iks teisendamist, et teie lähtekohane KML kasutaks WGS 84 geograafilisi koordinaate, et vältida ruumilise nihke vigu oma veebikaartidel.
Formaatide võrdlus ja tehnilised spetsifikatsioonid
Standardne 5-megabaidine KML-fail teisendatakse ligikaudu 4,2-megabaidiseks GeoJSON-failiks. 4G mobiilsidevõrgus kiirusega 30 megabitti sekundis võtab selle faili allalaadimine aega umbes 1,1 sekundit. 5G võrgus kiirusega 150 megabitti sekundis lõpeb edastus 0,2 sekundiga. Gigabitise optilise kaabli ühenduse korral edastatakse fail koheselt vähem kui 0,05 sekundiga.
Korduma kippuvad küsimused
Kuidas teisendada Google KML GeoJSON-iks kvaliteeti kaotamata?
Teisendus on koordinaatideandmete jaoks matemaatiliselt kadudeta. Mõlemad vormingud salvestavad geograafilisi koordinaate WGS 84 ruumilise viitesüsteemi abil. KML-i spetsiifilistel stiilireeglitel, nagu kohandatud ikoonide URL-id ja keerulised hulknurkade kõrgused, ei pruugi siiski olla standardis GeoJSON otseseid vasteid ja need võivad vajada käsitsi taasloomist.
Mis vahe on Google KML-il ja GeoJSON-il?
Google KML on XML-põhine keel, mis on loodud Maakera brauserite jaoks ja millel on hierarhiline sõlmede struktuur, mis toetab rikkalikke stiile, kaameravaateid ja 3D-elemente. GeoJSON on kerge vorming, mis põhineb JSON-il ja on optimeeritud veebirakenduste programmeerimisliideste (API-d) ning vektorgraafika jaoks. Sellel on tasane struktuur, mis sisaldab objektide kogumeid, geomeetriaid ja lihtsaid atribuute.