Google KML - GeoJSON-muunnin
Google KML -tiedostojen muuntaminen GeoJSON-muotoon muuntaa hierarkkisen XML-pohjaisen maantieteellisen datan kevyiksi vektorimuotoisiksi JavaScript Object Notation -objekteiksi nykyaikaisia verkkokarttoja varten.
Muotojen vertailu ja tekniset tiedot
| Määritys | KML | GEOJSON |
|---|---|---|
| MIME-tyyppi | application/vnd.google-earth.kml+xml | application/geo+json |
| Tyyppi | geographic XML notation | geographic vector JSON |
| Pakkaus | XML text (KMZ when ZIP compressed) | none (JSON text) |
| Standardimääritys | OGC KML 2.3 | IETF RFC 7946 |
| Tiedostotunniste (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 |
Muodon yleiskatsaus ja käyttökohteet
Paikkatieto siirtyy usein työpöytäkarttaohjelmistojen ja verkkosovellusten välillä. Google KML on Google Earthin käyttämä standardimuoto, joka jäsentää pisteet, viivat ja alueet XML-puuhun. Nykyaikaiset verkkoselaimet ja karttakirjastot, kuten Mapbox ja Leaflet, suosivat GeoJSON-muotoa, koska se vastaa suoraan JavaScriptin omia tietorakenteita. Kehittäjät ja GIS-analyytikot muuntavat KML-tiedostoja GeoJSON-muotoon ladatakseen karttatasoja nopeasti verkkosivuille ilman erillisiä työpöytäohjelmistoja. Verkkosovellukset käsittelevät JSON-dataa välittömästi verrattuna suurien XML-asiakirjojen jäsennykseen. Kun käyttäjät lataavat verkkokartan, GeoJSON-tiedosto syötetään suoraan vektorirenderöintimoottoreille. Tämä muunnos poistaa XML-tunnisteiden kääntämisen rasituksen suorituksen aikana. Sen ansiosta kartat voivat näyttää tuhansia kohteita sujuvasti säilyttäen samalla tarkan koordinaattigeometrian.
Tekniset tiedot ja koodekkien erittely
Google KML käyttää MIME-tyyppiä application/vnd.google-earth.kml+xml ja perustuu XML-tekstisyntaksiin tai KMZ-nimiseen ZIP-säilöön pakattuna. GeoJSON käyttää MIME-tyyppiä application/geo+json ja koostuu pakkaamattomasta tasatekstistä, joka on jäsennetty JSON-objektiksi. KML-tiedostot alkavat usein vakio-XML-määritystavuilla, kun taas KMZ-arkistot alkavat ZIP-tiedoston paikallisilla otsikkotavuilla 50 4B 03 04. GeoJSON-tiedostot alkavat ASCII-merkillä '{', joka edustaa juuritason JSON-objektia. Muunnosprosessi jäsennyttää XML-dokumenttipuun, poimii koordinaattitaulukot ja metatietotunnisteet sekä kirjoittaa ne uudelleen RFC 7946 -yhteensopiviksi JSON-kohdekokoelmiksi menettämättä koordinaattitarkkuutta.
Käyttöjärjestelmien ja selaimien yhteensopivuus
Molemmat muodot toimivat kaikissa nykyaikaisissa käyttöjärjestelmissä, kuten Windowsissa, macOS:ssä, Linuxissa, iOS:ssä ja Androidissa. GeoJSON toimii natiivisti kaikissa nykyaikaisissa verkkoselaimissa, kuten Chromessa, Firefoxissa, Safarissa ja Edgessä, koska selaimet jäsentävät JSON-dataa natiivisti. Google KML vaatii toimiakseen erikoistuneita työpöytäohjelmistoja, kuten Google Earthin, tai muunnostyökaluja, kuten QGISin, koska verkkoselaimet eivät pysty näyttämään KML-tiedostoja natiivisti ilman kolmannen osapuolen jäsennyskirjastoja.
💡 Hyödyllistä tietoa
Varmista aina ennen GeoJSON-muunnosta, että lähdetason KML käyttää WGS 84 -maantieteellisiä koordinaatteja, jotta vältät sijaintisiirtymävirheet verkkokartoillasi.
Muotojen vertailu ja tekniset tiedot
Tavallinen 5 megatavun KML-tiedosto muuntuu noin 4,2 megatavun GeoJSON-tiedostoksi. 30 megabitin sekuntinopeudella toimivassa 4G-mobiiliverkossa tämän tiedoston lataaminen kestää noin 1,1 sekuntia. 150 megabitin sekuntinopeudella toimivassa 5G-verkossa siirto valmistuu 0,2 sekunnissa. Gigabitin kuituyhteydellä tiedosto siirtyy silmänräpäyksessä alle 0,05 sekunnissa.
Usein kysytyt kysymykset
Miten Google KML muunnetaan GeoJSON-muotoon menettämättä laatua?
Muunnos on matemaattisesti häviötön koordinaattidatan osalta. Molemmat muodot tallentavat maantieteelliset koordinaatit WGS 84 -paikkatietojärjestelmää käyttäen. KML-tiedoston tietyt tyylisäännöt, kuten mukautetut kuvake-URL-osoitteet ja monimutkaiset polygonien ekstruusiokorkeudet, eivät kuitenkaan välttämättä vastaa suoraan vakio-GeoJSON-muotoa, ja ne saattavat vaatia manuaalista uudelleenluontia.
Mitä eroa on Google KML:llä ja GeoJSON:lla?
Google KML on XML-pohjainen kieli, joka on suunniteltu maapalloselaimille ja sisältää hierarkkisen solmurakenteen, joka tukee monipuolisia tyylejä, kameranäkymiä ja 3D-elementtejä. GeoJSON on kevyt, JSON-pohjainen muoto, joka on optimoitu verkkorajapintoja ja vektorigrafiikkaa varten. Siinä on tasainen rakenne, joka sisältää kohdekokoelmia, geometrioita ja yksinkertaisia ominaisuuksia.