Konwerter Google KML na GeoJSON
Konwersja plików Google KML do formatu GeoJSON przekształca hierarchiczne geograficzne dane XML w lekki wektorowy JavaScript Object Notation dla nowoczesnych map internetowych.
Porównanie formatów i specyfikacja techniczna
| Specyfikacja | KML | GEOJSON |
|---|---|---|
| Typ MIME | application/vnd.google-earth.kml+xml | application/geo+json |
| Typ | geographic XML notation | geographic vector JSON |
| Kompresja | XML text (KMZ when ZIP compressed) | none (JSON text) |
| Standardowa specyfikacja | OGC KML 2.3 | IETF RFC 7946 |
| Nagłówek 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 |
Przegląd formatu i zastosowania
Dane geograficzne często przemieszczają się między narzędziami do tworzenia map na komputerach stacjonarnych a aplikacjami internetowymi. Google KML to standardowy format używany przez Google Earth, który strukturyzuje punkty, linie i wielokąty wewnątrz drzewa XML. Nowoczesne przeglądarki internetowe oraz biblioteki kartograficzne, takie jak Mapbox czy Leaflet, wolą GeoJSON, ponieważ pasuje on bezpośrednio do struktur danych używanych natywnie przez JavaScript. Programiści i analitycy GIS konwertują KML do GeoJSON, aby szybko ładować nakładki map na stronach internetowych bez potrzeby używania specjalistycznego oprogramowania biurkowego. Aplikacje internetowe przetwarzają format JSON natychmiastowo w porównaniu do parsowania dużych dokumentów XML. Kiedy użytkownicy wczytują mapę internetową, plik GeoJSON trafia bezpośrednio do silników renderowania wektorowego. Ta konwersja eliminuje narzut związany z tłumaczeniem znaczników XML podczas czasu wykonywania. Umożliwia to mapom płynne wyświetlanie tysięcy obiektów przy jednoczesnym zachowaniu precyzyjnych geometrii 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ą we wszystkich nowoczesnych systemach operacyjnych, w tym Windows, macOS, Linux, iOS oraz Android. GeoJSON działa natywnie we wszystkich nowoczesnych przeglądarkach internetowych, takich jak Chrome, Firefox, Safari i Edge, ponieważ przeglądarki te parsują format JSON natywnie. Google KML wymaga specjalistycznego oprogramowania stacjonarnego, takiego jak Google Earth, lub narzędzi translacyjnych, takich jak QGIS, aby poprawnie renderować grafikę, ponieważ przeglądarki internetowe nie potrafią natywnie wyświetlać 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.
Porównanie formatów i specyfikacja techniczna
Standardowy plik KML o wielkości 5 megabajtów konwertuje się na plik GeoJSON o rozmiarze około 4,2 megabajta. W sieci mobilnej 4G działającej z prędkością 30 megabitów na sekundę pobranie tego pliku zajmuje około 1,1 sekundy. W sieci 5G o prędkości 150 megabitów na sekundę transfer kończy się w 0,2 sekundy. Połączenie Gigabit Fiber przesyła plik błyskawicznie w czasie krótszym niż 0,05 sekundy.
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.