KML

Wat is een KML-bestand?

Het formaat van Google Earth en Maps voor punten, lijnen en vlakken.

Wat KML is

KML is een puur tekstformaat dat in elke editor opengaat. Het wordt gebruikt voor kaarten.

De extensie is .kml en de volledige naam Keyhole Markup Language. Allebei zeggen ze minder dan wat het bestand kan bevatten, en daar gaat de rest van deze pagina over.

Waar KML vandaan komt

Het komt van Keyhole. De specificatie is OGC KML 2.3.

De leeftijd is om een praktische reden interessant: hoe ouder een formaat, hoe meer programma’s de tijd hebben gehad om het te leren.

De specificatie is openbaar

Ze is volledig gepubliceerd, dus wie het formaat wil uitvoeren kan dat uit het document doen in plaats van door te kijken hoe anderen het doen. Daarom duikt het in zo veel programma’s op, en daarom gaan bestanden van twintig jaar geleden nog steeds open. Openbaar is niet hetzelfde als royaltyvrij: waar een formaat een codec omhult, is de octrooilicentie een aparte vraag waarop de standaard geen antwoord geeft.

Er wordt niets weggegooid

KML bewaart zijn inhoud precies. Opnieuw opslaan verandert niets, dus je kunt het zo vaak openen, bewerken en wegschrijven als je wilt zonder dat er schade opstapelt — en dat is wat er een werkformaat van maakt in plaats van een afleverformaat.

Wat KML opent

Google Earth, QGIS en ArcGIS lezen het, en de meeste programma’s van dezelfde soort ook.

Als een bestand niet opengaat ligt het zelden aan het formaat — vaker is het programma ouder dan het formaat. Converteren naar iets ouders is de betrouwbare weg eromheen, en daarvoor is de rest van deze site bedoeld.

Het in de browser openen

Geen enkele browser leest het.

Dat is veruit de meest voorkomende reden om het te converteren: niet dat het formaat slecht is, maar dat de plek waar je het bestand wilt tonen het niet kan lezen.

Het is een werkformaat

KML is bedoeld om te openen en te wijzigen. Houd het bestand in dit formaat zolang het werk loopt, en exporteer eruit wanneer er een afgeronde versie nodig is.

Een kaartdocument, geen lijst coördinaten

KML beschrijft wat op een kaart moet verschijnen en hoe het eruit moet zien. Een placemark met een icoon en een omschrijving die in een ballon opent bij klikken. Een lijn met een kleur en breedte. Een polygoon met een vulling, omhoog geëxtrudeerd tot een hoogte.

Dat maakt het iets anders dan GPX, dat een lijst gemeten punten is zonder mening over presentatie. Een KML kan ook een track bevatten, maar het doel is iets aan iemand tonen — waarom het is wat Google Earth en Google Mijn Kaarten produceren.

KMZ is een gezipte KML, en meestal het betere bestand

Een KMZ is een ZIP-archief met een KML plus alles waarnaar het verwijst — eigen iconen, foto’s, overlaybeelden. Hernoem naar .zip en elk archiefgereedschap opent het.

Het is de praktischere vorm bij afbeeldingen, want een kale KML die naar plaatjes op je eigen computer wijst, toont niets op een andere machine. De XML comprimeert ook zwaar, dus een grote dataset is vaak een vijfde van de omvang.

Punten, lijnen en vlakken

Drie geometrietypen dekken bijna alles. Een punt is een placemark — een winkel, een uitzichtpunt. Een lijn is een pad, een grens of een route. Een polygoon is een vlak: een perceel, een district, een zoekgebied.

Polygonen zijn waar KML iets doet dat GPX niet kan. Een vlak heeft een binnenkant, kan gaten hebben, gevuld en deels transparant gemaakt worden, en driedimensionaal geëxtrudeerd worden.

Styling, en waarom het bestand er zoveel van heeft

Kleuren, iconen, lijnbreedtes, labelgroottes en transparantie staan allemaal in het document, en kleuren worden geschreven in een volgorde die iedereen verrast: alfa, blauw, groen, rood — omgekeerd van de gewone notatie.

Stijlen kunnen eenmalig gedefinieerd en door veel objecten hergebruikt worden, wat een bestand met tweeduizend placemarks beheersbaar houdt. Het betekent ook dat een massale herstyling één wijziging op één plek is.

Grondoverlays en netwerklinks

Een grondoverlay pint een afbeelding op de kaart tussen vier coördinaten: een gescande historische kaart, een terreinplan, een luchtfoto. Het is het kenmerk dat Google Earth van een viewer verandert in iets waarmee je kunt vergelijken.

Een netwerklink gaat verder en verwijst het bestand naar een URL, met periodieke verversing. Zo komt live data in Google Earth — voertuigposities, weer, sensormetingen — en betekent het dat een gedeelde KML niets meer toont zodra de bron verdwenen is.

Een KML ergens anders dan Google Earth krijgen

Google Mijn Kaarten importeert het rechtstreeks en is de makkelijkste manier om een gedeelde kaart op het web te zetten. QGIS leest het voor analytisch werk.

Wat vrijwel niets doet, is het ter plekke tonen — geen browser opent een KML op zichzelf, en een e-mailclient biedt aan het te downloaden en niets meer.

Omzetten tussen KML en GPX

Van GPX naar KML is de eenvoudige richting: een track wordt een lijn, waypoints worden placemarks, en styling moet toegevoegd worden omdat de bron er geen had.

De omgekeerde richting verliest wat GPX niet kan uitdrukken, wat het grootste deel is van waar een KML voor dient — polygonen hebben geen equivalent, overlays en netwerklinks evenmin, styling valt weg.

De gegevens, op één plek

Kenmerken en herkomst van het formaat KML.
Extensie.kml
Mediatypeapplication/vnd.google-earth.kml+xml
Uitgegeven doorKeyhole
SpecificatieOGC KML 2.3