KML · KMZ · Google Earth · standard OGC

KML i KMZ na mapie — od Google Earth do polskich układów

KML (Keyhole Markup Language) to pierwotnie format Google Earth — a od 2008 roku otwarty standard OGC. Od tras rysowanych ręcznie w Google Earth po nakładki ortofotomap od urzędów: KML i KMZ są wszechobecne w krajobrazie danych geoprzestrzennych.

1
Wczytaj swoje danePrzeciągnij plik — prosto z instrumentu, CAD lub GIS
2
Zobacz je na mapieZawsze analizujemy same współrzędne — także gdy plik ma kod EPSG. Jeśli coś się nie zgadza, informujemy
3
Sprawdź i wyeksportujSprawdź, czy dane leżą poprawnie — przelicz i pobierz wynik
W skrócie: KML to format Google Earth (standard OGC od 2008 roku) i zawsze jest w WGS84 — KMZ to paczka ZIP zawierająca plik KML i ewentualne zasoby (obrazy, ikony itd.). Przeciągnij plik na mapę: koordinat.online automatycznie rozpakowuje KMZ, pokazuje punkty, trasy i poligony i może eksportować do ETRS89/UTM, PL-2000 lub PL-1992. Uwaga: wysokości w trybie absolute są zgodnie ze standardem KML mierzone od geoidy WGS84 EGM96 — globalnej powierzchni — i nie są ani wysokościami elipsoidalnymi GNSS, ani polskimi wysokościami normalnymi (PL-KRON86-NH lub PL-EVRF2007-NH). Różnica między EGM96 a polską wysokością normalną nie jest stałą wartością i musi zostać obliczona dla konkretnego miejsca za pomocą właściwych modeli.
Od Keyhole do standardu OGC
KML powstał w firmie Keyhole Inc. (EarthViewer, 2001), został przejęty przez Google w 2004 roku i udostępniony jako otwarty standard OGC w 2008 roku (KML 2.2). KML 2.3 pojawił się w 2015 roku. Format jest dziś utrzymywany przez Open Geospatial Consortium i obsługiwany przez wszystkie większe programy GIS.
KMZ — spakowana wersja
KMZ to KML spakowany w jeden plik ZIP. Zwykle zawiera doc.kml oraz opcjonalnie ikony, obrazy i modele 3D. Wgraj .kmz bezpośrednio — koordinat.online rozpakowuje go automatycznie. KMZ jest zwykle wyraźnie mniejszy niż odpowiadający mu nieskompresowany KML, szczególnie gdy plik zawiera dużo powtarzającego się XML.
Zawsze WGS84
KML definiuje współrzędne jako [longitude, latitude] w WGS84 — to jedyny dopuszczalny układ w tym formacie. koordinat.online automatycznie przelicza dane na układ, w którym pracujesz: ETRS89/UTM, PL-2000 lub PL-1992.
Geometria i style
KML obsługuje punkty, linie i poligony, a także style (kolory, ikony, grubość linii), dane czasowe i wysokość 3D. koordinat.online wczytuje geometrię oraz nazwy/opisy — style i dane czasowe nie są zachowywane, ponieważ koordinat.online jest narzędziem mapowym do pracy ze współrzędnymi, a nie programem do stylizacji map.
Import z Google My Maps
Google My Maps (i Google Earth) potrafią eksportować do KML przez menu opcji. Wyeksportowany plik można wgrać bezpośrednio do koordinat.online. Eksporty z Google My Maps zwykle zawierają znaczniki (Placemarks) z nazwą i opisem jako atrybuty.
Przejdź do mapy →

Struktura KML

Prosty plik KML z jednym punktem:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
  <Placemark>
    <name>Warszawa</name>
    <Point>
      <coordinates>21.0122,52.2297,0</coordinates>
    </Point>
  </Placemark>
</kml>

KML zawsze używa WGS84, z kolejnością współrzędnych longitude,latitude,altitude. Wysokość jest opcjonalna. Gdy jej brak, geometria zwykle interpretowana jest zgodnie z altitudeMode, którego domyślną wartością jest clampToGround — czyli geometria „przykleja się” do terenu.

Typowe błędy KML/KMZ

Większość problemów z KML sprowadza się do jednego z poniższych:

  • KMZ bez doc.kml. KMZ musi mieć główny plik KML w katalogu głównym archiwum (zwykle doc.kml) — zmienione nazwy albo pliki, w których KML leży w podkatalogu, nie zawsze da się niezawodnie odczytać.
  • Ikony i nakładki nie są przenoszone. Import geometrii obejmuje punkty, linie i poligony — obrazy, ikony i nakładki rastrowe w KMZ trzeba obsłużyć osobno.
  • Dane czasowe znikają. TimeStamp/TimeSpan (animacje w Google Earth) nie mają odpowiednika w SHP/DXF — przy dalszym eksporcie dane czasowe nie są zachowywane.
  • Wysokości są mylnie interpretowane. clampToGround oznacza brak zapisanej rzędnej — geometria przylega do terenu; absolute to metry nad geoidą EGM96 — nie polska wysokość normalna. Jeśli rzędne mają być użyte fachowo, muszą zostać przeliczone przez odpowiednie modele, a nie potraktowane jako gotowa wartość.

Wysokości KML nie są ani wysokościami elipsoidalnymi, ani polskimi wysokościami normalnymi

Tryb wysokości absolute w KML określa metry nad powierzchnią odniesienia, która wcale nie jest pozostawiona interpretacji: standard OGC dla KML mówi, że wysokość mierzona jest od pionowego układu odniesienia, którym jest geoida WGS84 EGM96, a absolute oznacza właśnie metry względem tego układu. Własna dokumentacja Google wspomina za to jedynie o „wysokości nad poziomem morza” i nie precyzuje, o jaki model geoidy chodzi — ale niezależnie od tego, który globalny model geoidy przyjmiemy, nie jest to ani polska powierzchnia quasi-geoidy (PL-geoid2021), ani elipsoida GNSS. Różnica między EGM96 a polską wysokością normalną zmienia się geograficznie i musi zostać obliczona z odpowiednich modeli geoidy/quasi-geoidy — patrz strona o systemach wysokości dla porównań między modelami.

Konsekwencja: rzędne w pliku KMZ z drona albo eksporcie KML są zgodnie ze standardem wysokościami EGM96 — nie wysokościami elipsoidalnymi ani polskimi wysokościami normalnymi (PL-KRON86-NH czy PL-EVRF2007-NH). Jeśli mają być użyte fachowo, ścieżka przeliczenia to EGM96 → wysokość elipsoidalna → wysokość normalna (HN = h − ζ) przy użyciu odpowiednich modeli geoidy i quasi-geoidy — a różnica między EGM96 a polską wysokością normalną nie jest stałą wartością, tylko powierzchnią zmienną geograficznie, która potrafi być na tyle duża, by zepsuć obliczenia spadku terenu. Przy clampToGround żadna oryginalna wysokość nie jest zapisana w geometrii — nie da się jej odtworzyć z samego pliku KML, choć czasem można ją uzyskać z modelu terenu.

Z WGS84 do polskich układów

KML zawsze przychodzi w WGS84 (lon, lat i opcjonalnie wysokość). Narzędzie pokazuje Twoje dane bezpośrednio i może przeliczyć je przy eksporcie do ETRS89/UTM, PL-2000 (strefy 5–8) lub PL-1992 — zobacz pełny przegląd polskich układów.

Zobacz najważniejsze układy współrzędnych dla Polski →

Najczęściej zadawane pytania o KML i KMZ

Czy mogę wgrać KML bezpośrednio z Google Maps?

Tak — w Google My Maps możesz wyeksportować do KML przez menu opcji (trzy kropki → Eksportuj do KML). Ten plik można wgrać bezpośrednio do koordinat.online.

Jaka jest różnica między KML a KMZ?

KMZ to plik ZIP zawierający plik KML (zwykle nazwany doc.kml) i opcjonalnie zasoby, takie jak ikony i obrazy. KMZ jest skompresowany i zwykle wyraźnie mniejszy. Oba formaty wgrywane są bezpośrednio — rozpakowywanie nie jest potrzebne.

Czy tracę style i ikony przy wgrywaniu?

koordinat.online wczytuje geometrię, nazwy i opisy. Style (kolory, ikony) nie są używane, ponieważ koordinat.online jest narzędziem mapowym do pracy ze współrzędnymi — nie programem do stylizacji map.

Czy pliki KML z animacją czasową są obsługiwane?

Nie — koordinat.online wczytuje geometrię i atrybuty, ale dane czasowe (TimeSpan, TimeStamp) oraz przeloty (tours) Google Earth nie są uwzględniane.

Czy mogę wyeksportować do KML z koordinat.online?

Tak — przy eksporcie (wymaga darmowego konta) możesz wybrać KML jako format. Punkty eksportowane są ze współrzędnymi WGS84 (EPSG:4326), zgodnie z wymogiem standardu KML.

KML i KMZ na mapie — od Google Earth do polskich układów

Przeciągnij plik .kml lub .kmz bezpośrednio na mapę — narzędzie automatycznie rozpakowuje KMZ, odczytuje punkty, trasy i poligony i umieszcza je poprawnie. Stąd możesz pracować dalej albo wyeksportować (wymaga darmowego konta) do ETRS89/UTM lub polskich układów płaskich (PL-2000, PL-1992).

Przejdź do mapy →

Źródła i dalsza lektura

Zasady dotyczące KML pochodzą z samego standardu; polskie dane wysokościowe — z modeli quasi-geoidy publikowanych przez GUGiK.

  1. Open Geospatial Consortium (2008): OGC KML 2.2 (OGC 07-147r2) — §6.2 i §16.1.1
    Standard określa, że wysokość mierzona jest od pionowego układu odniesienia, którym jest geoida WGS84 EGM96, i że tryb „absolute” oznacza metry względem tego układu — nie polskiej wysokości normalnej.
  2. Google: KML Documentation — Altitude Modes
    Własna dokumentacja Google opisuje „absolute” jedynie jako „wysokość nad poziomem morza” i nie precyzuje, o jaki model geoidy chodzi.
  3. GUGiK (2024): Model quasi-geoidy PL-geoid2021 (PL-EVRF2007-NH)
    Oficjalny polski model quasi-geoidy do przeliczania wysokości elipsoidalnej GNSS na wysokość normalną. Wartości ζ (separacja quasi-geoidy) wahają się krajowo od 22,212 m do 47,466 m, ze średnią 34,834 m — to nie stała wartość, tylko powierzchnia zmienna geograficznie.