Google KML (.kml)

OGC Standard

Keyhole 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 ustandaryzowany 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:

Wybierz lub upuść pliki tutaj

Prywatnie - pliki nigdy nie opuszczają Twojego urządzenia

lub wklej Ctrl+V
Gwarancja prywatności bez przesyłania danych do sieci: 0 bajtów przesłanych na zewnętrzne serwery. Całe przetwarzanie odbyło się lokalnie w piaskownicy przeglądarki.

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 6C

REPREZENTACJA ASCII: <kml

Normalizacja: OGC KML 2.3 Standard

Specyfikacja techniczna

Architektura konteneraOparty na XML język wizualizacji danych geograficznych, opisujący znaczniki miejsca, nakładki terenu, modele 3D i perspektywy kamery
KompresjaNieskompresowany tekst XML; pliki .kmz są kompresowane ZIP
Kolejność bajtów (Endianness)Strumień tekstu UTF-8 / Unicode
Przestrzenie kolorówSzesnastkowe ciągi kolorów AABBGGRR
Kanały i strukturaZnaczniki miejsc, ścieżki, wielokąty, modele budynków 3D, nakładki ze zdjęciami i trasy kamer podczas wirtualnych wycieczek
Maks. wymiaryWspółrzędne WGS 84: długość i szerokość geograficzna oraz wysokość nad poziomem morza w metrach
PrzezroczystośćPrzezroczystość alfa obsługiwana w ciągach kolorów AABBGGRR i nakładkach PNG
Streaming i progresywne ładowanieŁącza sieciowe obsługują dynamiczne aktualizacje strumieniowe zdalnych serwerów danych geograficznych

Techniczna macierz porównawcza: KML a konkurencja

Atrybut technicznyKML (Bieżący)GEOJSONGPXKMZ
Kamera 3D i wycieczkiPełna kontrola pochylenia i kierunku kamery oraz tras przelotuBrak (płaskie właściwości geometrii)Śledzenie wysokości n.p.m.Pełne pochylenie kamery i trasy przelotu
Format pakowaniaZwykły dokument tekstowy XMLZwykły dokument tekstowy JSONZwykły dokument tekstowy XMLArchiwum ZIP zawierające doc.kml
Format kolorówAABBGGRR (Alfa, Niebieski, Zielony, Czerwony)Standard CSS / HexBrakAABBGGRR
Główny celGoogle Earth i GIS 3DMapy internetowe (Mapbox, Leaflet)Garmin i śledzenie kondycji GPSSamodzielne 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 znak ampersand (&) w opisie dymka HTML, który nie został zapisany jako encja XML.

Odzyskiwanie: Napraw składnię XML i otocz opis znacznikiem <![CDATA[...]]> za pomocą narzędzia File2File.app 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: Wyłącz pobieranie danych z zewnętrznych sieci i oczyść zawartość HTML dymków za pomocą biblioteki DOMPurify.

Pochodzenie historyczne i kamienie milowe

2008Open Geospatial Consortium (OGC) przyjmuje KML 2.2 jako oficjalny międzynarodowy standard geoprzestrzenny.
2005Google przejmuje Keyhole Inc., zmieniając nazwę Keyhole Earth Viewer na Google Earth i popularyzując KML na całym świecie.
2001Keyhole Inc. tworzy KML do adnotacji trójwymiarowych zdjęć satelitarnych.

Główne zalety

  • Bogata wizualizacja Ziemi w 3D: definiuje nie tylko punkty, ale także kąty kamery, azymut, pochylenie, wysokość i wirtualne wycieczki.
  • Obsługa KML zależy od aplikacji; obsługiwane funkcje różnią się w desktopowych narzędziach GIS i mapowych.
  • Łącza NetworkLink mogą pobierać powiązane zasoby KML; odświeżanie zależy od ustawień dokumentu i przeglądarki.

Ograniczenia techniczne i wady

  • Rozbudowana składnia XML powoduje, że pliki są większe niż w kompaktowych formatach, takich jak GeoJSON.
  • Kolory używają niekonwencjonalnego szesnastkowego zapisu AABBGGRR (alfa, niebieski, zielony, czerwony), a nie standardowego RGBA.
  • Złożone elementy 3D (wycieczki, modele) są rzadko obsługiwane przez lekkie platformy do map internetowych.

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 zapisuje się wspak jako AABBGGRR: pierwsze dwa znaki oznaczają kanał alfa, następnie występują niebieski, zielony i czerwony.
  • Archiwum KMZ zawiera co najmniej jeden plik KML i może zawierać pliki pomocnicze. doc.kml to zwyczajowa nazwa pliku głównego, ale dopuszczalne są też inne nazwy.

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.