KML og KMZ på kort — fra Google Earth til UTM32
KML (Keyhole Markup Language) er Google Earths native format — og en OGC-standard siden 2008. Fra håndtegnede ruter i Google Earth til luftfotooverlays fra myndighederne: KML og KMZ er overalt i det danske geodata-landskab.
KML-struktur
En simpel KML-fil med ét punkt:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>København</name>
<Point>
<coordinates>12.5683,55.6761,0</coordinates>
</Point>
</Placemark>
</kml>
KML bruger altid WGS84 med koordinatorden longitude,latitude,altitude. Altitude er valgfri. Mangler den, findes der ingen faglig Z-værdi i filen — og med KML’s standardindstilling clampToGround ignoreres en angivet højde alligevel, så geometrien lægges på terrænet.
Typiske KML/KMZ-fejl
De fleste KML-problemer koger ned til en af disse:
- KMZ uden doc.kml. En KMZ skal have sin hoved-KML i arkivets rod (typisk doc.kml) — omdøbte zip-filer eller arkiver med KML'en i en undermappe kan ikke læses pålideligt.
- Ikoner og overlays følger ikke med. Geometri-import tager punkter, linjer og polygoner — KMZ'ens billeder, ikoner og photo-overlays skal håndteres separat.
- Tidsdata forsvinder. TimeStamp/TimeSpan (animationer i Google Earth) har ingen pendant i Shape/DXF — ved videre eksport bliver tidsdimensionen flad.
- Højder tolkes forkert. clampToGround betyder ingen kote; absolute er meter over EGM96-geoiden — ikke DVR90. Skal koterne bruges fagligt, skal de omregnes.
KML-højder er hverken ellipsoide eller DVR90
KML's absolute-højdetilstand angiver meter over havniveau, og fladen er ikke overladt til fortolkning: OGC's KML-standard fastslår at højden måles fra det vertikale datum, som er WGS84 EGM96-geoiden, og at absolute netop betyder ”meter i forhold til det vertikale datum”. Googles egen KML-dokumentation nævner derimod kun ”sea level” og angiver ingen geoidemodel — men uanset hvilken global geoide der lægges til grund, er det hverken den danske DVR90-flade eller GPS'ens ellipsoide. Bruger man den globale EGM2008-model frem for Klimadatastyrelsens officielle DVR90-model, må man regne med en systematisk fejl på 10–30 cm over Danmark (se vores gennemgang af danske højdesystemer), og EGM96 er en ældre model med grovere opløsning — 15′-gitter mod EGM2008's 2,5′ — så afvigelsen er ikke mindre.
Konsekvensen: koter i en drone-KMZ eller en KML-eksport er efter standarden EGM96-højder — hverken ellipsoidehøjder eller DVR90-koter. Skal de bruges fagligt, er omregningsvejen EGM96 → ellipsoide → DVR90 via geoidemodeller — og en afvigelse i decimeterklassen er nok til at ødelægge en faldberegning. clampToGround-data har slet ingen kote og kan ikke reddes.
Fra WGS84 til danske systemer
KML ankommer altid i WGS84 (lon, lat og eventuel højde). Værktøjet viser dine data direkte og kan omregne ved eksport til UTM zone 32/33 og DKTM — se hele oversigten over de danske systemer.
Se de vigtigste koordinatsystemer for Danmark →Ofte stillede spørgsmål om KML og KMZ
Kan jeg importere KML direkte fra Google Maps?
Ja — i Google My Maps kan du eksportere til KML via menuen (tre prikker → Eksportér til KML). Den fil kan importeres direkte i koordinat.online.
Hvad er forskellen på KML og KMZ?
KMZ er en ZIP-fil der indeholder KML-filen (normalt kaldet doc.kml) plus eventuelle ressourcer som ikoner og billeder. KMZ er komprimeret og typisk meget mindre. Begge formater importeres direkte — ingen udpakning nødvendig.
Mister jeg mine stilarter og ikoner ved import?
koordinat.online importerer geometri, navne og beskrivelser. Stilarter (farver, ikoner) bruges ikke, da koordinat.online er et koordinatkonverteringsværktøj — ikke et kortdesignprogram.
Understøttes tidsanimaterede KML-filer?
Nej — koordinat.online importerer geometrien og attributterne, men tidsseriedata (TimeSpan, TimeStamp) og Google Earth-tours ignoreres.
Kan jeg eksportere til KML fra koordinat.online?
Ja — ved eksport kan du vælge KML som format. Dine punkter eksporteres med WGS84-koordinater (EPSG:4326) som krævet af KML-standarden.
KML og KMZ på kort — fra Google Earth til UTM32
Træk din .kml- eller .kmz-fil ind på kortet — værktøjet udpakker automatisk KMZ, læser punkter, ruter og polygoner og placerer dem korrekt. Derfra kan du arbejde videre eller eksportere til danske koordinatsystemer.
Hop ind i kortet →Kilder og videre læsning
KML's regler for koordinater og højder kommer fra OGC-standarden; koblingen til danske koter fra Klimadatastyrelsen.
-
Open Geospatial Consortium:
OGC KML 2.2 (OGC 07-147r2) — §6.2 og §16.1.1
KML blev vedtaget som OGC-standard i 2008, og standarden fastlægger selv referencefladen for højder: ”Note that altitude is measured from the vertical datum, which is the WGS84 EGM96 Geoid” (§6.2). I §16.1.1 står at absolute betyder ”meter i forhold til det vertikale datum”, og Annex B definerer KML's koordinatsystem som WGS84 sammen med EPSG:5773 — højde over EGM96-geoiden. Samme dokument definerer formatets geometrielementer (Point, LineString, LinearRing, Polygon). KML 2.3 (OGC 12-007r2) har identisk ordlyd. -
Google:
KML Documentation — Altitude Modes
Googles egen dokumentation beskriver kun absolute som højden ”relative to sea level, regardless of the actual elevation of the terrain” og nævner ingen geoidemodel — hverken EGM96 eller nogen anden. Selve fladen er fastlagt i OGC-standarden, ikke hos Google. -
Klimadatastyrelsen (2024):
Geomatics Notes 10 — DVR90: Dansk Vertikal Reference 1990
Hvorfor en KML-højde ikke uden videre er en DVR90-kote: DVR90 er knyttet til Klimadatastyrelsens egen geoidemodel, og alene nulpunktsforskydningen mellem den gravimetriske og den DVR90-tilpassede geoide er 32,05 cm (DVR90(2023)).