Konwerter KML na GeoJSON
Konwersja plików Google KML do formatu GeoJSON przekształca hierarchiczne dane geograficzne XML w lekki format wektorowy JSON, odpowiedni dla nowoczesnych map internetowych.
Porównanie formatów i specyfikacja techniczna
| Specyfikacja | KML | GEOJSON |
|---|---|---|
| Typ MIME | application/ | application/ |
| Typ | zapis danych geograficznych w XML | geograficzny format wektorowy JSON |
| Kompresja | tekst XML (KMZ w przypadku kompresji ZIP) | brak (tekst JSON) |
| Standardowa specyfikacja | OGC KML 2.3 | IETF RFC 7946 |
| Nagłówek z bajtami identyfikującymi | 3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml) | 7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header |
Przegląd formatu i zastosowania
Dane geograficzne często są przenoszone między stacjonarnymi narzędziami kartograficznymi a aplikacjami internetowymi. Google KML to standardowy format używany przez Google Earth, który porządkuje punkty, linie i wielokąty w drzewie XML. Nowoczesne przeglądarki internetowe oraz biblioteki mapowe, takie jak Mapbox i Leaflet, preferują GeoJSON, ponieważ odpowiada on strukturom danych natywnie używanym przez JavaScript. Programiści i analitycy GIS konwertują KML do GeoJSON, aby szybko wczytywać nakładki map na stronach internetowych bez specjalistycznego oprogramowania desktopowego. Aplikacje internetowe szybciej przetwarzają JSON niż duże dokumenty XML. Gdy użytkownicy wczytują mapę internetową, plik GeoJSON trafia bezpośrednio do silnika renderującego grafikę wektorową. Konwersja eliminuje konieczność tłumaczenia znaczników XML w czasie działania aplikacji. Dzięki temu mapy mogą płynnie wyświetlać tysiące obiektów, zachowując precyzję geometrii i współrzędnych.
Specyfikacja techniczna i analiza kodeków
Google KML używa typu MIME application/vnd.google-earth.kml+xml i opiera się na składni tekstowej XML lub kontenerze ZIP znanym jako KMZ po skompresowaniu. GeoJSON używa typu MIME application/geo+json i składa się z nieskompresowanego zwykłego tekstu ustrukturyzowanego jako obiekt JSON. Pliki KML często zaczynają się od standardowych bajtów deklaracji XML, podczas gdy archiwa KMZ zaczynają się od bajtów nagłówka pliku lokalnego ZIP 50 4B 03 04. Pliki GeoJSON zaczynają się od znaku ASCII '{' reprezentującego główny obiekt JSON. Proces konwersji parsuje drzewo dokumentu XML, wyodrębnia tablice współrzędnych i znaczniki metadanych, a następnie zapisuje je ponownie w kolekcjach obiektów JSON zgodnych z RFC 7946 bez utraty precyzji współrzędnych.
Zgodność z systemami operacyjnymi i przeglądarkami
Oba formaty działają w większości nowoczesnych systemów operacyjnych, w tym Windows, macOS, Linux, iOS i Android. Większość nowoczesnych przeglądarek, takich jak Chrome, Firefox, Safari i Edge, natywnie obsługuje GeoJSON, ponieważ parsuje JSON. Google KML wymaga specjalistycznego oprogramowania desktopowego, takiego jak Google Earth, albo narzędzi konwersji, takich jak QGIS. Przeglądarki internetowe nie wyświetlają natywnie plików KML bez bibliotek parsujących innych firm.
Przydatne informacje
Zawsze upewnij się, że źródłowy plik KML używa współrzędnych geograficznych WGS 84 przed konwersją do formatu GeoJSON, aby zapobiec błędom przesunięcia przestrzennego na mapach internetowych.
Często zadawane pytania
Jak przekonwertować Google KML do GeoJSON bez utraty jakości?
Konwersja jest matematycznie bezstratna dla danych współrzędnych. Oba formaty przechowują współrzędne geograficzne przy użyciu układu odniesienia przestrzennego WGS 84. Jednak specyficzne reguły stylizowania w formacie KML, takie jak niestandardowe adresy URL ikon i złożone wysokości wyciągnięcia wielokątów, mogą nie mieć bezpośrednich odpowiedników w standardowym GeoJSON i mogą wymagać ręcznego odtworzenia.
Jaka jest różnica między Google KML a GeoJSON?
Google KML to język oparty na XML zaprojektowany dla przeglądarek kuli ziemskiej, wyposażony w hierarchiczną strukturę węzłów obsługującą bogate stylizowanie, widoki kamery i elementy 3D. GeoJSON to lekki format zbudowany na bazie JSON, zoptymalizowany pod kątem interfejsów API sieci Web i grafiki wektorowej o płaskiej strukturze zawierającej kolekcje obiektów, geometrie i proste właściwości.