Cookies für Statistik und Werbung
Wir setzen Cookies für Statistik und Werbung ein, beides geht an Google. Wenn du ablehnst, ändert sich für dich sichtbar nichts.Zur Datenschutzseite
KML kannst du hier kostenlos und ohne Konto in GPX umwandeln: Datei oben ablegen, und ein, zwei Sekunden später steht das Ergebnis zum Herunterladen bereit. Die Umwandlung läuft in deinem eigenen Browser, die Datei wird also nie hochgeladen — das klappt unter Windows, macOS und Linux ebenso wie auf iPhone und Android, und es funktioniert selbst dann noch, wenn du das Netz abschaltest.
Bis zu 100 Dateien auf einmal. Gemischte Formate sind kein Problem.
Sie werden nacheinander umgewandelt und kommen zusammen als ZIP zurück.
KML in GPX
Ein Wanderverein legt eine Route für die Vereinstour in Google My Maps an, klickt sie Punkt für Punkt auf der Karte entlang und veröffentlicht sie als KML auf der eigenen Website, weil das der einzige Export ist, den das Werkzeug anbietet. Ein Kreisverband markiert Etappenpunkte, Trinkwasserstellen und den Treffpunkt am Wanderparkplatz auf dieselbe Weise. Wer die Datei herunterlädt, um sie auf eine Garmin-Uhr oder in Komoot zu laden, hat damit eine Zeichnung in der Hand — keine Aufzeichnung —, und genau dieser Unterschied bestimmt, was in der GPX-Datei ankommt.
Fast jede KML-Datei, die hier landet, ist auf diese Weise entstanden. Jemand hat eine Route in Google Earth gezogen, Pins in einer My-Maps-Ebene gesetzt oder einen Plan aus einem Werkzeug exportiert, dessen einziger Export KML heißt. Diese Datei beschreibt eine Absicht: hier soll die Linie verlaufen. Eine GPX von einer Uhr beschreibt eine Geschichte: hier war der Empfänger, zu diesen Zeitpunkten, in dieser Höhe.
Die Umwandlung verschiebt die Geometrie aus der ersten Form in die Gestalt der zweiten, und alles, was eine Aufzeichnung zur Aufzeichnung macht, ist in der Quelle schlicht nicht vorhanden, um es zu übertragen. Das ist kein Fehler des Konverters, und es lohnt sich, das zu wissen, bevor das Ergebnis wie ein Versehen wirkt: das flache Höhenprofil, die fehlende Dauer, die eckigen Ecken — alles Eigenschaften der Zeichnung, getreu übernommen.
Das ändert nichts daran, dass die GPX auf dem Gerät funktioniert. Ein Werkzeug, das nach dem Weg fragt, braucht keine Aufzeichnung, es braucht eine Linie zum Folgen — und genau die liefert diese Umwandlung.
Jedes LineString wird zu einem trk mit genau einem trkseg, mit einem trkpt je Eckpunkt, in einem GPX-1.1-Dokument. Der Name des Placemarks wird zum Namen des Tracks, ein Gerät, das eine Trackliste zeigt, zeigt also das, was der Vereinsvorstand in Google Earth eingetragen hat, statt eines Dateinamens.
Bewusst wird ein Track geschrieben und keine rte. GPX unterscheidet beides: eine Route ist eine dünn besetzte Liste von Punkten zum Ansteuern, ein Track eine dichte Linie zum Folgen. Ältere Handgeräte behandeln beides unterschiedlich, manche geben bei einer Route Abbiegehinweise, bei einem Track keine. Braucht ein Gerät ausdrücklich eine Route, ist das Umwandeln des Tracks danach eine Aufgabe für die eigene Gerätesoftware — Garmin BaseCamp erledigt das —, keine Entscheidung, die eine Formatumwandlung stellvertretend treffen sollte.
Ein LineString speichert Koordinaten und sonst nichts, die GPX kommt also ohne time-Element an einem einzigen Trackpunkt heraus. Die Datei ist trotzdem gültig — Zeit ist in GPX 1.1 optional, und eine Route hat auch nichts mit einer eigenen zu suchen — und jede Navigations-App lädt und folgt ihr.
Zum Problem wird es beim Hochladen. Eine Plattform, die eine GPX als abgeschlossene Aktivität behandelt, muss Dauer und Tempo berechnen, und das geht nicht ohne zwei Zeitstempel, deren Differenz sie bildet. Eine gezeichnete Route als Route oder Strecke hochladen — genau das Feature, das für diese Datei gebaut ist — statt als Aktivität. Weist ein Dienst die Datei mit einer Beschwerde über fehlende Zeitdaten zurück, sagt er genau das, und erfundene Zeitstempel würden eine Aktivität erzeugen, die eine Geschwindigkeit behauptet, die niemand gefahren ist.
Eine KML-Koordinate hat einen optionalen dritten Wert in Metern. Google Earth schreibt beim geländegebundenen Zeichnen diesen dritten Wert überall als 0, weil die Höhe belanglos ist, wenn die Darstellung die Linie sowieso auf den Boden legt. Die Umwandlung nimmt die Zahl wie sie ist, jeder Trackpunkt erhält also ele=0, und das Gerät zeigt ein Profil flach auf Meereshöhe ohne jeden Anstieg.
Ein My-Maps-Export verhält sich oft anders und schreibt nur zwei Werte je Koordinate, dann wird gar kein ele-Element geschrieben — das ehrlichere Ergebnis, das auf den meisten Geräten gleich aussieht. So oder so muss die Höhe von woanders kommen. Die meisten Routenplaner rechnen sie beim Import aus einem Geländemodell neu, und diese Zahl ist ohnehin besser als die Null, denn sie stammt aus einer Vermessung und nicht aus einem Empfänger, der auf einem Hang hin und her schwankt.
Die Umwandlung schreibt genau so viele Trackpunkte, wie die KML Eckpunkte hatte, und interpoliert nichts dazwischen. Eine tagesfüllende, per Klick gezogene Route sind gewöhnlich vierzig bis zweihundert Eckpunkte; dieselbe Route, von einer Uhr im Sekundentakt aufgezeichnet, sind dreißigtausend. Auf einer Karte mit weitem Zoom sehen beide gleich aus. Herangezoomt schneidet die gezeichnete Kurven ab, führt über einen Fluss, wo keine Brücke ist, und nimmt bei einer Serpentine die gerade Linie.
Das fällt vor allem bei allem ins Gewicht, was misst. Die entlang einer groben Polylinie berechnete Distanz ist systematisch zu kurz, weil jede Kurve durch ihre Sehne ersetzt wurde, und eine Bergabfahrt mit fünfzehn Kehren kann dabei einen spürbaren Teil ihrer Länge verlieren. Ist die Zahl wichtig, die Route in einem Werkzeug planen, das an das Straßen- oder Wegenetz einrastet — das Ergebnis ist dichter und folgt der echten Geometrie — und diese Umwandlung für Linien nutzen, deren genaue Form absichtlich so gezeichnet wurde.
Ein Placemark mit einem Point wird zu einem GPX-wpt an derselben Stelle, mit dem behaltenen Namen. Wegpunkte stehen vor den Tracks in der Datei, die übliche Reihenfolge, die Handgeräte erwarten. Auf den meisten Geräten erscheinen sie als Sehenswürdigkeiten, die einzeln ausgewählt und angesteuert werden können, unabhängig von der Route.
Das ist oft die nützlichere Hälfte der Umwandlung. Eine Ebene mit dreißig Pins — Trinkwasserstellen, Toren, Rastplätzen, Treffpunkten — wird zu dreißig beschrifteten Einträgen auf einer Uhr, etwas, das kein Blick auf eine bloße Routenlinie liefert. Namen werden wörtlich übernommen, es lohnt sich also, sie vor der Umwandlung kurz zu halten: Ein Display, das elf Zeichen zeigt, kürzt „Trinkwasserstelle an der alten Mühle" zu etwas Unbrauchbarem.
Zwei Konstrukte in KML kommen mit nichts zurück. Ein Polygon — eine Grenze, ein Schutzgebiet, eine schraffierte Fläche — hält seinen Umriss in verschachtelten Randelementen, die dieser Leser nicht öffnet, eine Fläche liefert also keinen Track. Ein MultiGeometry, das mehrere Linien oder Punkte in einem Placemark bündelt, wird aus demselben strukturellen Grund übersprungen.
Ist die ganze Datei so aufgebaut, bricht die Umwandlung ab und meldet, dass kein Track und keine Wegpunkte gefunden wurden — zutreffend, kein gescheiterter Versuch. Der Ausweg, wenn der Umriss die eigentlich gewollte Route ist, ist die KML in Google Earth erneut zu öffnen und die Grenze als Pfad nachzuzeichnen — ein Polygon und ein LineString sehen auf dem Bildschirm gleich aus und sind in der Datei verschiedene Objekte. Das dauert eine Minute und ergibt etwas, das jedes Gerät liest.
Stammt die KML aus einem GPS-Export statt aus einer Zeichnung, kann sie statt eines LineString ein gx:Track enthalten: Googles Erweiterung, die eine Liste von when-Zeitstempeln neben einer passenden Liste von coord-Positionen speichert. Das wird als eigener Fall erkannt, und die Zeitstempel werden unverändert in das time-Element jedes GPX-Trackpunkts übernommen.
Genau dieser Unterschied ändert, wofür das Ergebnis taugt. Eine aus einem gx:Track umgewandelte GPX ist eine Aufzeichnung mit Dauer und Tempo und lädt sich wie jede andere als Aktivität hoch. Der schnelle Weg herauszufinden, welche Art von KML vorliegt, ist die Datei nach when zu durchsuchen — steht die Zeichenkette darin, sind Zeitstempel in der GPX zu erwarten, steht sie nicht, keine. Die Koordinaten in einem gx:Track sind durch Leerzeichen getrennt statt durch Kommas, eine Datei kann also beide Schreibweisen zugleich enthalten.
Placemarks, die in Document- und Folder-Elementen verschachtelt sind, werden durch Ablaufen des Baums gefunden, was nötig ist, weil ein My-Maps-Export jede Ebene in einen eigenen Ordner legt und eine KML aus einem Planungswerkzeug drei Ebenen tief liegen kann. Die Ordnernamen selbst werden nicht übernommen: GPX kennt keine entsprechende Gruppierung, und eine zu erfinden würde heißen zu raten, welche Ebene wichtig war.
Übernommen wird der Document-Name, der zum GPX metadata/name wird, und der Name jedes Placemarks, der zum Namen seines Tracks oder Wegpunkts wird. Die Datei wird mit GPX 1.1 und einem Creator-Attribut geschrieben, das diesen Konverter nennt, ein Gerät, das die Herkunft meldet, zeigt das also an. Alles Übrige aus dem KML-Kopf — Beschreibungen, Stildefinitionen, die LookAt-Kameraposition — hat in einer GPX keinen Platz und wird nicht geschrieben.
Die KML wird gelesen und die GPX geschrieben, alles im Browser. Keine Anfrage trägt die Datei irgendwohin, was sich im Netzwerkfenster während der Umwandlung prüfen lässt, und die Seite arbeitet mit abgeschalteter Verbindung weiter, sobald sie geladen ist.
Eine geplante Route sagt weniger über eine Person als eine aufgezeichnete, aber nicht viel weniger. Eine gezeichnete Linie nennt trotzdem, wo jemand zu sein beabsichtigt und wann, und die Wanderroute des Vereins für die kommende Vereinsfahrt ist genau die Art von Planung, die vor der Veröffentlichung noch niemanden etwas angeht. Örtlich umzuwandeln bedeutet, dass die Datei nie zum Protokolleintrag von jemand anderem wird — die einzige Zusage, die nicht davon abhängt, eine Datenschutzerklärung zu lesen.
| KML | GPX | |
|---|---|---|
| Vollständiger Name | Keyhole Markup Language | GPS Exchange Format |
| Dateiendung | .kml | .gpx |
| Medientyp | application/vnd.google-earth.kml+xml | application/gpx+xml |
| Erstmals veröffentlicht | — | 2002 |
| Herausgegeben von | Keyhole | Topografix |
| Spezifikation | OGC KML 2.3 | GPX 1.1 |
| Lizenzlage | Offener Standard | Offener Standard |
| Heutiger Stand | Aktuell | Aktuell |
| Öffnet im Browser | Kein Browser | Kein Browser |
| Stattdessen erwogen | KMZ | TCX |
QGIS liest sowohl KML als auch GPX — du kannst das Ergebnis also gegen das Original prüfen, ohne ein zweites Programm zu brauchen.
KML stammt von Keyhole. Festgehalten ist das in OGC KML 2.3 — lohnt sich zu kennen, wenn die Datei das Programm überleben soll, das sie geschrieben hat.
GPX kommt von Topografix und stammt aus 2002, festgehalten in GPX 1.1. Garmin BaseCamp, Strava und QGIS lesen das Format.
Nein. Diese Umwandlung läuft vollständig in deinem Browser, die Datei verlässt dein Gerät also nicht. Du kannst das selbst nachprüfen: Öffne den Netzwerk-Tab der Entwicklerwerkzeuge und wandle etwas um. Zu sehen sind die Seite selbst und die Statistik- und Werbeanfragen, mit denen dieser Dienst bezahlt wird — und keine einzige, die deine Datei trägt.
Ja. Kein Konto, kein Wasserzeichen und kein Tageskontingent, das sich verbraucht — es läuft auf deinem eigenen Rechner, du darfst also so oft wiederkommen, wie du willst. Dateien bis 100 MB verarbeitet der Browser, 100 auf einmal.
KML und GPX beschreiben Inhalte auf grundverschiedene Weise. Die Umwandlung ist deshalb ein Nachbau und keine Kopie: originalgetreu, aber nicht Byte für Byte dasselbe. Positionen, Höhen und Zeitstempel kommen mit. Sensordaten, Gestaltung und eingebettete Bilder nicht.
Für die Umwandlung selbst nicht — sie läuft in dem Browser, den du ohnehin offen hast. Zum Öffnen brauchst du danach das Programm, das auf deinem Gerät üblicherweise GPS Exchange Format anzeigt.