KML naar TCX omzetten

Hier zet je KML naar TCX om, gratis en zonder account: sleep het bestand hierboven erin en binnen een paar seconden staat het resultaat klaar om te downloaden. De omzetting gebeurt binnen je eigen browser, dus het bestand wordt nooit geüpload. Het werkt hetzelfde op Windows, macOS en Linux als op iPhone en Android, en het blijft werken als je de verbinding verbreekt.

  • Waar het draait In je browser. Het bestand wordt nooit geüpload.
  • Opnieuw opgebouwd TCX werkt anders dan KML. Het is dus niet het geleidelijke kwaliteitsverlies van een lossy codec: wat TCX kan uitdrukken wordt getrouw weergegeven, en wat daar geen equivalent heeft blijft helemaal weg.
  • Maximale grootte Tot 100 MB per bestand, gratis en zonder account.
  • Goed om te weten Posities, hoogte en tijdcodes gaan mee. Sensorstromen, opmaak en ingesloten beeld niet.

Tot 100 bestanden tegelijk. Verschillende formaten door elkaar is prima.

Lees dit voor je omzet: de test van één regel

Open de KML in een teksteditor en zoek naar de tekst «when». Staat die erin, dan bevat het bestand een gx:Track met echte tijdstempels en levert deze omzetting een zinnige activiteit op. Staat hij er niet — en bij alles wat met de hand getekend is, staat hij er niet — dan is het bestand een vorm zonder klok, en wordt de TCX een training die beweert om middernacht op 1 januari 1970 begonnen te zijn en geen tijd gekost te hebben.

Dat is geen bug om te omzeilen; het is wat de bron bevat. TCX is een verslag van een trainingssessie, en een sessie wordt bepaald door wanneer ze begon en hoelang ze duurde, nog voor waar ze naartoe ging. Een lijn op een kaart heeft geen van beide eigenschappen. Faalt jouw KML deze test, dan is een routeformaat de eerlijke bestemming — zie de laatste sectie.

Wat de terugvaloptie naar het Unix-epoch precies schrijft

Het TCX-schema vereist een StartTime-attribuut op elke Lap en een Id op elke Activity, en beide zijn tijdstempels. Zonder tijden in de bron is er niets te lezen, dus wordt het Unix-epoch — 1970-01-01T00:00:00.000Z — in beide geschreven, en TotalTimeSeconds wordt nul omdat het verschil tussen eerste en laatste puntentijd niet te berekenen is.

Het resulterende bestand is schemageldig, wat verklaart waarom het geüpload wordt in plaats van geweigerd. Wat het verderop doet, is minder netjes. Een platform dat activiteiten op datum sorteert, zet deze vijftig jaar vóór alles; een trainingsbelastingberekening over een sessie van nul seconden deelt door nul of negeert hem.

Het geval waarin de omzetting precies goed uitpakt

Een gx:Track is Google’s uitbreiding voor opgenomen data: parallelle lijsten van when-tijdstempels en coord-posities, geschreven door tools die gps-sporen als KML exporteren in plaats van als GPX. Zo’n track wordt als apart geval gelezen, en de tijdstempels komen terecht in het Time-element van elk TCX-trackpunt.

Heb je dat, dan werkt alles verderop naar behoren. De startlap komt uit het eerste punt, de duur is de echte verstreken tijd, en de activiteit belandt op de juiste plek in een trainingslogboek. Dit is een echt bruikbaar pad voor iedereen wiens opnamesoftware KML exporteert en wiens coach Garmin-bestanden wil.

Afstand wordt gemeten langs de lijn die je tekende, niet langs de route die je zou rijden

Een TCX-lap moet een DistanceMeters opgeven, en een KML slaat er geen op, dus wordt het cijfer berekend door de grootcirkelafstand tussen opeenvolgende hoekpunten op een bol met straal 6.371.000 meter op te tellen. Tegenover een ellipsoïdeberekening is dat nauwkeurig tot een paar duizendste, geen foutbron om je zorgen om te maken.

De echte foutbron is de vorm van de invoer. Een met de hand getekende lijn heeft een hoekpunt waar je klikte, dus elke bocht is vervangen door de rechte koorde erover. Een weg met vijftien haarspeldbochten getekend in zes klikken is meetbaar korter dan de weg, en de activiteit claimt dat kortere getal als feit.

De velden die neutrale waarden krijgen omdat KML geen mening heeft

Drie velden krijgen vaste waarden omdat niets in een KML ermee overeenkomt. De activiteit-Sport is Other, want het schema staat maar een korte opsomming toe en een getekende lijn zegt niets over de discipline. Intensity is Active en TriggerMethod is Manual, de eerlijke waarden voor een lap die geen apparaat ooit startte of stopte.

Alle drie zijn het waard om na import te corrigeren als de activiteit blijft staan. De meeste platformen laten je het type achteraf wijzigen, en dat telt meer dan het lijkt — trainingsbelastingmodellen en tempozones zijn allemaal gekoppeld aan de discipline, dus een sessie als Other stilzwijgend buiten de meeste ervan gehouden.

Wat er met de speldjes in het bestand gebeurt

Een training kent geen waypoint-concept, dus waar de KML lijnen bevat, worden de puntplaatsmarkeringen simpelweg weggelaten. Er is geen TCX-element dat ze zou kunnen bevatten, en er een verzinnen zou een bestand opleveren dat voor elke lezer de validatie faalt.

Een KML die uitsluitend uit speldjes bestaat, wordt verwerkt in plaats van geweigerd: de punten worden als één track in documentvolgorde gelezen, wat een activiteit oplevert die een route tussen hen claimt. Of dat betekenis heeft, hangt af van wat de speldjes waren.

Nul-hoogtes belanden in het hoogteveld

De derde waarde van een KML-coördinaat wordt AltitudeMeters op het trackpunt. Google Earth, dat een lijn langs het terrein tekent, schrijft die waarde als 0 op elk hoekpunt omdat de renderer hem negeert, dus draagt een omgezette TCX vaak een hoogte van nul van begin tot eind.

Een trainingsplatform dat dat bestand leest, meldt geen stijging en een vlak profiel — een correcte interpretatie van de cijfers die het kreeg. Laat de KML de derde waarde helemaal weg, zoals My Maps-exports vaak doen, dan wordt geen hoogte-element geschreven, en vullen de meeste platformen de hoogte zelf in vanuit hun terreinmodel.

Grove hoekpunten leveren een onwaarschijnlijke reeks trackpunten op

Naast het afstandscijfer beïnvloedt het aantal hoekpunten hoe de activiteit eruitziet zodra ze in een trainingslogboek staat. Een opgenomen rit heeft elke seconde een punt; een getekende route misschien om de kilometer. Grafieken gebouwd uit het tweede type bestaan uit een handvol samples, en elke snelheid per punt die een platform uit niet-bestaande tijdstempels berekent, wordt helemaal niet berekend.

Het resultaat is een activiteit die als lijn op een kaart rendert en verder overal leeg blijft — geen tempografiek, geen hoogtegrafiek, geen tussentijden. Dat is een eerlijke weergave van een bestand met veertig coördinaten en geen klok.

Het routeformaat dat past bij wat je echt hebt

Is de KML een plan, zet hem dan om naar GPX en laad hem als route of course. Elk platform en apparaat heeft die functie — Garmin noemt het een course, Strava en Komoot een route — en geen ervan vereist een starttijd of een duur, want een plan hoort geen van beide te hebben.

De activiteit die je wilt, ontstaat daarna, opgenomen door het apparaat dat de course volgt, met echte tijden en echte sensordata. Dat is de volgorde waarvoor de tools ontworpen zijn, en het is aanzienlijk minder werk dan een verzonnen sessie importeren en de datum, het type en de duur met de hand corrigeren.

Omgezet in het tabblad, welke route je ook kiest

De KML wordt ontleed en de TCX geschreven in deze browser. Geen verzoek draagt het bestand ergens naartoe, wat het netwerkpaneel tijdens een omzetting bevestigt, en de pagina werkt offline zodra hij geladen is.

Voor een geplande route is de gevoeligheid anders dan voor een opgenomen route, maar niet nul. Een getekende lijn zegt waar iemand van plan is te zijn, en een My Maps-laag met klantbezoeken of bezichtigingen is commercieel vertrouwelijk voordat hij persoonlijk is. Lokaal omzetten betekent dat het plan geen kopie op andermans schijf krijgt als bijwerking van een gewijzigde extensie.

Zo zet je KML naar TCX om

  1. Sleep je KML-bestand op deze pagina, of klik om er een te kiezen.
  2. Kies TCX als doel. De omzetting gebeurt in je browser en het bestand wordt niet geüpload.
  3. Download het klare TCX-bestand.

KML of TCX: wat er verandert

KML vergeleken met TCX
KMLTCX
Volledige naamKeyhole Markup LanguageTraining Center XML
Bestandsextensie.kml.tcx
Mediatypeapplication/vnd.google-earth.kml+xmlapplication/vnd.garmin.tcx+xml
Voor het eerst gepubliceerd2007
Uitgegeven doorKeyholeGarmin
SpecificatieOGC KML 2.3Training Center XML
LicentieOpen standaardGepubliceerd, niet gestandaardiseerd
Stand van zakenActueelActueel
Opent in een browserGeen browserGeen browser
In plaats daarvan overwogenKMZ, GPXGPX, FIT

Het resultaat openen

De gebruikelijke programma's overlappen niet: KML open je in Google Earth, QGIS en ArcGIS, TCX in Garmin Connect, Strava en TrainingPeaks — wie het resultaat krijgt, heeft dus iets uit de tweede rij nodig.

Waarvoor elk formaat bedoeld is

De twee mikken op ander werk: KML op kaarten, TCX op sportregistratie. Dat is het afwegen waard, want de reden dat het ene bestaat is meestal de reden dat het andere onhandig is.

KML is het formaat van Keyhole. Het is vastgelegd in OGC KML 2.3, en dat is de moeite waard als het bestand het gereedschap moet overleven dat het schreef.

TCX komt van Garmin en stamt uit 2007, vastgelegd in Training Center XML. Garmin Connect, Strava en TrainingPeaks lezen het formaat.

Van KML naar TCX: veelgestelde vragen

Wordt mijn KML-bestand ergens heen geüpload?

Nee. Deze omzetting gebeurt volledig in je browser, dus het bestand verlaat je apparaat niet. Je kunt het zelf nagaan: open het netwerktabblad van de ontwikkelaarshulpmiddelen en zet iets om. Je ziet de pagina zelf en de verzoeken voor statistiek en advertenties waarmee deze dienst betaald wordt, en geen enkel verzoek dat je bestand meeneemt.

Is KML naar TCX omzetten gratis?

Ja. Geen account, geen watermerk en geen dagtegoed dat opraakt: het draait op je eigen machine, dus je mag zo vaak terugkomen als je wilt. De browser verwerkt bestanden tot 100 MB, 100 tegelijk.

Gaat er kwaliteit verloren bij het omzetten van KML naar TCX?

KML en TCX beschrijven de inhoud op fundamenteel andere manieren. De omzetting is daarom een reconstructie en geen kopie: getrouw, maar niet byte voor byte identiek. Posities, hoogte en tijdcodes gaan mee. Sensorstromen, opmaak en ingesloten beeld niet.

Moet ik iets installeren om een TCX-bestand te openen?

Voor de omzetting niet: die gebeurt in de browser die je al open hebt staan. Om het resultaat te openen heb je daarna het programma nodig waarmee je apparaat Training Center XML normaal weergeeft.

Meer over deze formaten