Převod GeoJSON na KML
Konverze vektorů GeoJSON na Google KML převádí lehká pole souřadnic JSON na strukturované dokumenty XML přizpůsobené pro aplikace Google Earth a Google Maps.
Porovnání formátů a technické specifikace
| Specifikace | GEOJSON | KML |
|---|---|---|
| MIME typ | application/ | application/ |
| Typ | geografická vektorová data JSON | geografický zápis XML |
| Komprese | žádná (text JSON) | text XML (KMZ při kompresi ZIP) |
| Standardní specifikace | IETF RFC 7946 | OGC KML 2.3 |
| Hlavička souboru (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) |
Přehled formátu a použití
Geografická vektorová data jsou často zachycována a sdílena pomocí formátu GeoJSON, protože jej weboví vývojáři a knihovny pro mapování v JavaScriptu zpracovávají přirozeně. Stolní software GIS, jako je Google Earth, a starší podnikové globové aplikace však vyžadují jazyk Keyhole Markup Language, obecně známý jako KML. Překlad těchto formátů umožňuje terénním výzkumníkům a kartografům prohlížet hraniční polygony získané z webu, body telemetrie z dronů a trasy komunálních aktiv uvnitř virtuálních globů bez psaní vlastních skriptů. Přesun dat z GeoJSON do KML rovněž překlenuje propast mezi open-source webovými API a nástroji pro mapování orientovanými na spotřebitele. Mnoho městských plánovačů sbírá data pomocí knihoven Leaflet nebo Mapbox, které generují soubory GeoJSON. Když si zúčastněné strany chtějí prohlédnout tyto konkrétní vrstvy ve 3D desktopovém prostředí, převod geometrických značek, atributů stylu a vlastností metadat do uzlů XML zajišťuje, že vizuální prvky, jako jsou ikony, šířky čar a barvy výplně, se vykreslí správně.
Technické specifikace a přehled kodeků
GeoJSON používá typ MIME application/geo+json a představuje geografické body, čáry a polygony uvnitř prostého textu v zápisu JavaScript Object Notation. Neobsahuje žádné binární magické bajty, spoléhá se místo toho na standardní závorky ASCII nebo UTF-8 a páry klíč-hodnota, jako "type": "FeatureCollection". Na druhou stranu Google KML využívá typ MIME application/vnd.google-earth.kml+xml a strukturuje prostorové prvky uvnitř značek XML, jako jsou <Placemark>, <Point> a <Polygon>. Zatímco ani jeden formát na textové úrovni nativně nepoužívá ztrátovou kompresi, soubory KML lze komprimovat do archivů KMZ pomocí standardní komprese DEFLATE za účelem sdružení těžkých vektorových dat a lokálních ikon obrázků dohromady.
Kompatibilita s operačními systémy a prohlížeči
Oba formáty se hladce načítají napříč moderními operačními systémy včetně Windows, macOS, Linux, iOS a Android. Moderní webové prohlížeče nativně parsují řetězce GeoJSON pomocí standardních jader JavaScriptu, zatímco Google KML vyžaduje specializované parsery nebo vyhrazený desktopový software pro globus, jako je Google Earth Pro. Mobilní prohlížeče nedokážou zobrazit surové soubory KML přímo bez podpůrné aplikace nebo předběžného vykreslení na straně serveru.
Užitečné informace
Při konverzi rozsáhlých datových sad s tisíci složitých polygonů rozdělte zdrojový GeoJSON před exportem do formátu KML na menší regionální soubory, abyste zabránili pádům kvůli nedostatku paměti v klientských mapových aplikacích.
Často kladené otázky
Jak převést GeoJSON na Google KML bez ztráty kvality?
Tato konverze je striktně bezztrátová, protože oba formáty ukládají vektorové souřadnice pomocí přesných číselných hodnot zeměpisné šířky a délky. Proces překladu mapuje klíče GeoJSON na odpovídající prvky XML KML bez změny přesnosti souřadnic, ačkoliv vlastní vlastnosti stylu mohou vyžadovat manuální mapování, pokud cílový software čte nestandardní atributy odlišně.
Jaký je rozdíl mezi GeoJSON a Google KML?
GeoJSON je lehký textový formát postavený na syntaxi JSON, navržený speciálně pro webová mapová API a zpracování v JavaScriptu. Google KML je jazyk založený na XML určený pro aplikaci Google Earth, který nabízí vestavěnou podporu pro 3D přichycení k nadmořské výšce, vlastní úhly pohledu kamery, vnořené hierarchie složek a vložené ikony.