Google KML (.kml)
OGC StandardowyKeyhole Markup Language (KML) to otwarty standard XML służący do wyrażania adnotacji i wizualizacji geograficznych, opracowany pierwotnie dla Keyhole Earth Viewer (Google Earth) i zestandardzizowany przez Open Geospatial Consortium (OGC).
Konwertuj GEOJSON na KML
Darmowy konwerter z GEOJSON na KML w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.
Inspekcja i metadane
Systemy operacyjne i analizatory plików identyfikują pliki KML, sprawdzając początkową sekwencję bajtów binarnych:
Podpis nagłówka na poziomie bajtów (Magic Bytes)
Systemy operacyjne i analizatory plików identyfikują pliki KML, sprawdzając początkową sekwencję bajtów binarnych:
PODPIS HEX (OFFSET 0):
3C 6B 6D 6CREPREZENTACJA ASCII: <kml
Normalizacja: OGC KML 2.3 Standard
Specyfikacja techniczna
| Architektura kontenera | XML-based geographic visualization grammar defining Placemarks, GroundOverlays, 3D Models, and Camera perspectives |
| Kompresja | Uncompressed XML text (compressed with ZIP as .kmz files) |
| Kolejność bajtów (Endianness) | UTF-8 / Unicode text stream |
| Przestrzenie kolorów | AABBGGRR hexadecimal color strings |
| Kanały i struktura | Placemarks, paths, polygons, 3D building models, photo overlays, and tour camera paths |
| Maks. wymiary | WGS 84 coordinates: Longitude, Latitude, Altitude (in meters above sea level) |
| Przezroczystość | Alpha transparency supported in AABBGGRR color strings and PNG overlays |
| Streaming i progresywne ładowanie | NetworkLinks support dynamic streaming updates from remote geospatial servers |
Techniczna macierz porównawcza: KML a konkurencja
| Atrybut techniczny | KML (Bieżący) | GEOJSON | GPX | KMZ |
|---|---|---|---|---|
| Kamera 3D i wycieczki | Pełne pochylenie kamery, kierunek i trasy przelotu | Brak (płaskie właściwości geometrii) | Śledzenie wysokości n.p.m. | Pełne pochylenie kamery i trasy przelotu |
| Format pakowania | Zwykły dokument tekstowy XML | Zwykły dokument tekstowy JSON | Zwykły dokument tekstowy XML | Archiwum ZIP zawierające doc.kml |
| Format kolorów | AABBGGRR (Alfa-Niebieski-Zielony-Czerwony) | Standard CSS / Hex | Brak | AABBGGRR |
| Główny cel | Google Earth i GIS 3D | Mapy internetowe (Mapbox, Leaflet) | Garmin i śledzenie kondycji GPS | Samodzielne archiwum Google Earth |
Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego
Błąd programu Google Earth: 'Parse error at line X: mismatched tag'.
Główna przyczyna: Niezamknięty znacznik XML lub nieznaleziony znak ampersandu w kodzie HTML opisu dymka.
Odzyskiwanie: Napraw składnię XML i otocz opis znacznikiem <![CDATA[...]]> za pomocą narzędzia File2File KML Repair.
Analiza bezpieczeństwa i wektory ataku na parser
Pliki KML obsługują NetworkLinks oraz dymki z opisem w formacie HTML, co może wywołać ataki XXE, SSRF lub Cross-Site Scripting (XSS).
Znane wektory ataku
- Server-Side Request Forgery (SSRF) poprzez złośliwe znaczniki <NetworkLink> odpytujące wewnętrzne punkty końcowe intranetu.
- Iniekcja XSS poprzez nieoczyszczony kod HTML wewnątrz znaczników <description> wykonywanych w dymkach aplikacji Google Earth w wersji desktopowej lub webowej.
- Iniekcja XML External Entity (XXE) podczas zautomatyzowanego przetwarzania plików KML.
Najlepsze praktyki obronne:
Pochodzenie historyczne i kamienie milowe
Główne zalety
- Bogata wizualizacja 3D Ziemi: definiuje nie tylko punkty, ale także trójwymiarowe kąty kamery, azymut, pochylenie, wysokość oraz przeloty (tours).
- Natywnie obsługiwany przez Google Earth, Google Maps, ArcGIS oraz wszelkie profesjonalne oprogramowanie desktopowe GIS.
- Obsługuje NetworkLinks, umożliwiając Google Earth dynamiczne strumieniowanie aktualnych danych pogodowych, śledzenia lotów i informacji sejsmicznych.
Ograniczenia techniczne i wady
- Zawiła składnia XML skutkuje większymi rozmiarami plików niż w przypadku kompaktowych formatów, takich jak GeoJSON.
- Kolory używają niekonwencjonalnej szesnastkowej kolejności AABBGGRR (Alpha-Blue-Green-Red) zamiast standardowego RGBA.
- Złożone funkcje 3D (wycieczki, modele) są rzadko obsługiwane na lekkich platformach mapowych webowych.
Ciekawe informacje techniczne
- Firma Keyhole Inc. została nazwana na cześć historycznych satelitów szpiegowskich KH (Keyhole) wystrzelonych przez Stany Zjednoczone podczas zimnej wojny.
- W języku KML wartości kolorów są zapisywane wspak jako AABBGGRR: pierwsze dwa znaki to kanał Alpha, następnie Blue, potem Green, a na końcu Red.
- Plik '.kmz' to dosłownie zwykłe archiwum .zip zawierające pojedynczy plik 'doc.kml' oraz wszelkie osadzone obrazy lub modele 3D.
Często zadawane pytania techniczne
Jaka jest różnica między KML a KMZ?
KML to zwykły plik tekstowy XML. KMZ to skompresowany plik ZIP, który zawiera plik KML wraz z niestandardowymi ikonami map, teksturami lub obrazami nakładek 3D.
Jak mogę przekonwertować plik KML do formatu GeoJSON?
Możesz przekonwertować pliki Google Earth KML na czysty format GeoJSON do tworzenia map internetowych jednym kliknięciem za pomocą File2File.app bezpośrednio w przeglądarce.
Czy mogę otworzyć plik KML w Mapach Google?
Tak! W Mapach Google przejdź do 'Zapisane' -> 'Mapy' -> 'Utwórz mapę' (Google My Maps) i kliknij 'Importuj', aby przesłać swój plik KML.
Powiązane pary konwersji KML
Konwersja wektorów GeoJSON do formatu Google KML przekształca lekkie tablice współrzędnych JSON w ustrukturyzowane dokumenty XML dostosowane do programów Google Earth i Google Maps.
Konwersja plików Google KML do formatu GeoJSON przekształca hierarchiczne geograficzne dane XML w lekki wektorowy JavaScript Object Notation dla nowoczesnych map internetowych.
Konwersja danych śladów GPS GPX do formatu Google KML pozwala na natychmiastowe wyświetlanie surowych logów śledzenia terenowego wewnątrz Google Earth oraz niestandardowych aplikacji mapowych.
Konwersja znaczników geograficznych Google KML do standardu śladów GPS GPX standaryzuje zastrzeżone funkcje mapowe w uniwersalne dane punktów trasy i śladów.