GeoJSON ja Google KML muundur
GeoJSON vektorite teisendamine Google KML-vormingusse muudab kerged JSON-koordinaatide massiivid struktureeritud XML-dokumendiks, mis on kohandatud Google Earthi ja Google Mapsi jaoks.
Formaatide võrdlus ja tehnilised spetsifikatsioonid
| Spetsifikatsioon | GEOJSON | KML |
|---|---|---|
| MIME-tüüp | application/geo+json | application/vnd.google-earth.kml+xml |
| Tüüp | geographic vector JSON | geographic XML notation |
| Tihendamine | none (JSON text) | XML text (KMZ when ZIP compressed) |
| Standardne spetsifikatsioon | IETF RFC 7946 | OGC KML 2.3 |
| Tunnuskoodi päis (Magic Bytes) | 7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header | 3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml) |
Formaadi ülevaade ja kasutusvaldkonnad
Geograafilisi vektoriandmeid kogutakse ja jagatakse sageli GeoJSON-vormingus, kuna veebiarendajad ja JavaScripti kaarditeegid töötlevad neid loomupäraselt. Kuid töölaua GIS-tarkvara, näiteks Google Earth, ja pärandrakendused vajavad Keyhole Markup Language ehk KML-vormingut. Nende vormingute teisendamine võimaldab väliuurijatel ja kartograafidel vaadata veebist saadud piiride polügoone, droonide telemeetriapunkte ja munitsipaalmarsruute virtuaalsetes gloobustes ilma kohandatud skripte kirjutamata. Andmete liigutamine GeoJSON-ist KML-i ületab lõhe avatud lähtekoodiga veebiapide ja tarbijatele suunatud kaarditööriistade vahel. Paljud linna planeerijad koguvad andmeid Leaflet või Mapbox teekide abil, mis väljastavad GeoJSON-faile. Kui huvilised soovivad neid kihte vaadata 3D-töölauakeskkonnas, tagab geomeetria siltide, stiiliatribuutide ja metaandmete omaduste teisendamine XML-sõlmedeks visuaalsete elementide, nagu ikoonide, joonte laiuste ja täitevärvide korrektse renderdamise.
Tehnilised spetsifikatsioonid ja koodekite ülevaade
GeoJSON kasutab MIME-tüüpi application/geo+json, mis esitab geograafilisi punkte, jooni ja polügoone tavalises tekstilises JavaScript Object Notation vormingus. See ei sisalda binaarseid maagilisi baite, vaid tugineb standardsetele ASCII või UTF-8 sulgudele ja võtme-väärtuse paaridele, nagu "type": "FeatureCollection". Google KML kasutab aga MIME-tüüpi application/vnd.google-earth.kml+xml, struktureerides ruumilisi funktsioone XML-sildide sees, nagu <Placemark>, <Point> ja <Polygon>. Kuigi kumbki vorming ei kasuta tekstitasemel kadudega tihendamist, saab KML-failid pakkida KMZ-arhiividesse, kasutades standardset DEFLATE tihendust, et ühendada rasked vektoriandmed ja kohalikud pildiikoonid üheks.
OS-i ja brauseri ühilduvus
Mõlemad vormingud laaditakse sujuvalt kaasaegsetes operatsioonisüsteemides, sealhulgas Windowsis, macOS-is, Linuxis, iOS-is ja Androidis. Kaasaegsed veebibrauserid parsivad GeoJSON-stringe natiivselt standardsete JavaScripti mootorite abil, samas kui Google KML nõuab spetsiaalseid parsereid või spetsiaalset töölaua tarkvara, nagu Google Earth Pro. Mobiilsed brauserid ei saa tooreid KML-faile otse kuvada ilma abirakenduse või serveripoolse eelrenderdamiseta.
Kasulik teave
Suurte andmestike, mis sisaldavad tuhandeid keerulisi polügoone, teisendamisel jagage lähtefail enne KML-i eksportimist väiksemateks piirkondlikeks failideks, et vältida mälutõrkeid tarbijakaardirakendustes.
Formaatide võrdlus ja tehnilised spetsifikatsioonid
Tavaline 5-megabaidine GeoJSON-vektorfail edastatakse 1 Gbps fiiberoptilise ühenduse kaudu umbes 0,05 sekundiga, standardse 5G mobiilsidevõrgu kaudu umbes 0,4 sekundiga ja tüüpilise 4G LTE ühenduse kaudu ligikaudu 1 sekundiga.
Korduma kippuvad küsimused
Kuidas teisendada GeoJSON Google KML-vormingusse ilma kvaliteeti kaotamata?
See teisendus on rangelt kadudeta, kuna mõlemad vormingud salvestavad vektorite koordinaate täpsete laius- ja pikkuskraadi väärtustega. Teisendusprotsess vastendab GeoJSON-võtmed vastavatele KML-i XML-elementidele ilma koordinaatide täpsust muutmata, kuigi kohandatud stiiliomadused võivad vajada käsitsi vastendamist, kui sihttarkvara loeb mittestandardseid atribuute erinevalt.
Mis vahe on GeoJSON-il ja Google KML-il?
GeoJSON on JSON-süntaksil põhinev kerge tekstivorming, mis on loodud spetsiaalselt veebikaartide apide ja JavaScripti töötlemise jaoks. Google KML on XML-põhine keel, mis on loodud Google Earthi jaoks ja pakub sisseehitatud tuge 3D-kõrguse määramisele, kohandatud kaamera vaatenurkadele, pesastatud kaustade hierarhiatele ja manustatud ikoonidele.