„Google KML" į „GeoJSON" keitiklis
„Google KML" failų konvertavimas į „GeoJSON" paverčia hierarchinius XML geografinius duomenis lengvais vektoriais „JavaScript Object Notation" formatu, skirtu šiuolaikiniams žiniatinklio žemėlapiams.
Formatų palyginimas ir techninės specifikacijos
| Specifikacija | KML | GEOJSON |
|---|---|---|
| MIME tipas | application/vnd.google-earth.kml+xml | application/geo+json |
| Tipas | geographic XML notation | geographic vector JSON |
| Glaudinimas | XML text (KMZ when ZIP compressed) | none (JSON text) |
| Standartinė specifikacija | OGC KML 2.3 | IETF RFC 7946 |
| Maginės baitų antraštės (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 |
Formato apžvalga ir taikymas
Geografiniai duomenys dažnai keliauja tarp darbalaukio žemėlapių kūrimo įrankių ir žiniatinklio programų. „Google KML" yra standartinis formatas, kurį naudoja „Google Earth", struktūrizuojantis taškus, linijas ir poligonus XML medyje. Šiuolaikinės naršyklės ir žemėlapių bibliotekos, tokios kaip „Mapbox" ir „Leaflet", teikia pirmenybę „GeoJSON", nes jis tiesiogiai atitinka „JavaScript" naudojamas duomenų struktūras. Kūrėjai ir GIS analitikai konvertuoja KML į „GeoJSON", kad galėtų greitai įkelti žemėlapių perdangas tinklalapiuose be specialios darbalaukio programinės įrangos. Žiniatinklio programos apdoroja JSON akimirksniu, palyginti su didelių XML dokumentų analizavimu. Kai vartotojai įkelia žemėlapį, „GeoJSON" failas patenka tiesiai į vektoriaus atvaizdavimo variklius. Šis konvertavimas pašalina XML žymių vertimo vykdymo metu sąnaudas. Tai leidžia žemėlapiams sklandiai rodyti tūkstančius elementų, išlaikant tikslias koordinačių geometrijas.
Techninės specifikacijos ir kodekų apžvalga
„Google KML" naudoja MIME tipą application/vnd.google-earth.kml+xml ir remiasi XML teksto sintakse arba ZIP konteineriu, vadinamu KMZ, kai jis suspaustas. „GeoJSON" naudoja MIME tipą application/geo+json ir susideda iš nesuspaustojo paprasto teksto, suโครงsūrizuoto kaip JSON objektas. KML failai dažnai prasideda standartiniais XML deklaracijos baitais, o KMZ archyvai prasideda ZIP failo antraštės baitais 50 4B 03 04. „GeoJSON" failai prasideda ASCII simboliu „{", vaizduojančiu šakninį JSON objektą. Konvertavimo procesas išanalizuoja XML dokumento medį, ištraukia koordinačių masyvus ir metaduomenų žymes bei perrašo juos į RFC 7946 atitinkančias JSON elementų kolekcijas neprarandant koordinačių tikslumo.
OS ir naršyklės suderinamumas
Abudu formatai veikia visose šiuolaikinėse operacinėse sistemose, įskaitant „Windows", „macOS", „Linux", „iOS" ir „Android". „GeoJSON" veikia visose šiuolaikinėse naršyklėse, tokiose kaip „Chrome", „Firefox", „Safari" ir „Edge", nes naršyklės JSON apdoroja gimtąja forma. „Google KML" reikalauja specialios darbalaukio programinės įrangos, pvz., „Google Earth", arba vertimo įrankių, pvz., QGIS, kad būtų tinkamai atvaizduotas, nes naršyklės negali tiesiogiai rodyti KML failų be trečiųjų šalių analizavimo bibliotekų.
💡 Naudinga informacija
Prieš konvertuodami į „GeoJSON", visada patikrinkite, ar jūsų šaltinio KML naudoja WGS 84 geografines koordinates, kad išvengtumėte erdvinių poslinkio klaidų savo internetiniuose žemėlapiuose.
Formatų palyginimas ir techninės specifikacijos
Standartinis 5 megabaitų KML failas konvertuojamas į maždaug 4,2 megabaito „GeoJSON" failą. 4G mobiliuoju ryšiu, veikiančiu 30 megabitų per sekundę greičiu, šio failo atsisiuntimas užtrunka apie 1,1 sekundės. 5G ryšiu, veikiančiu 150 megabitų per sekundę greičiu, perkėlimas baigiamas per 0,2 sekundės. Naudojant šviesolaidinį ryšį, failas perkeliamas akimirksniu, greičiau nei per 0,05 sekundės.
Dažnai užduodami klausimai
Kaip konvertuoti „Google KML" į „GeoJSON" neprarandant kokybės?
Koordinačių duomenų konvertavimas yra matematiškai be nuostolių. Abudu formatai saugo geografines koordinates naudodami WGS 84 erdvinę koordinačių sistemą. Tačiau tam tikros KML stiliaus taisyklės, pvz., pasirinktiniai piktogramų URL ir sudėtingi poligonų aukščiai, gali neturėti tiesioginių atitikmenų standartiniame „GeoJSON" ir joms gali prireikti rankinio atstatymo.
Kuo skiriasi „Google KML" ir „GeoJSON"?
„Google KML" yra XML pagrindu sukurta kalba, skirta žemės naršyklėms, turinti hierarchinę mazgų struktūrą, palaikančią turtingą stilių, kameros rodinius ir 3D elementus. „GeoJSON" yra lengvas formatas, sukurtas JSON pagrindu, optimizuotas žiniatinklio API ir vektoriaus grafikams su plokščia struktūra, kurioje yra elementų kolekcijos, geometrijos ir paprastos savybės.