Cookies de statistiques et de publicité
Nous utilisons des cookies de statistiques et de publicité, tous deux destinés à Google. Si vous refusez, rien ne change visiblement pour vous.Aller à la page de confidentialité
Vous pouvez convertir TCX en KML gratuitement et sans compte : déposez le fichier ci-dessus et, une ou deux secondes plus tard, le résultat est prêt à télécharger. La conversion se fait dans votre propre navigateur : le fichier n’est donc jamais téléversé. Cela marche sous Windows, macOS et Linux comme sur iPhone et Android, et continue de marcher si vous coupez le réseau.
Jusqu’à 100 fichiers à la fois. Les formats mélangés ne posent pas de problème.
Ils sont convertis les uns après les autres et reviennent ensemble dans un ZIP.
TCX en KML
Un TCX est dense. À chaque seconde d’une séance il enregistre une position, une altitude, une distance cumulée, une fréquence cardiaque, souvent une cadence et une puissance, regroupés en tours qui déclarent chacun leur propre durée, distance, total calorique et moyennes de fréquence cardiaque. C’est le fichier le plus riche en information que la plupart des athlètes possèdent jamais.
Un LineString KML est une liste de coordonnées. C’est toute la destination, et la conversion n’est donc pas une traduction mais une réduction : un flux sur huit ou neuf survit, et la structure autour ne survit pas. Faite pour la bonne raison — vous voulez voir la vallée qu’une montée a remontée, ou placer un parcours devant quelqu’un qui n’y est jamais allé — c’est exactement la bonne quantité de données. Faite en croyant qu’un fichier Google Earth est une copie portable d’une séance, elle jette la séance.
Par point de trace : `<HeartRateBpm>`, `<Cadence>`, `<DistanceMeters>` et le bloc `<Extensions>` qui porte les watts et la cadence de course. Par tour : le temps total, la distance, la vitesse maximale, les calories, la fréquence cardiaque moyenne et maximale, l’intensité et la méthode de déclenchement. Par activité : les divisions de tour elles-mêmes et tout bloc nommant l’appareil qui a enregistré.
Ce qui passe est la position de chaque point et son `<AltitudeMeters>`, qui devient la troisième valeur de la coordonnée. La raison est structurelle plutôt qu’une limite d’effort : KML modélise un dessin, et un dessin a une géométrie et une apparence et aucun concept d’une mesure prise à un instant. Il n’y a aucun élément qui puisse contenir une fréquence cardiaque, donc il n’y a aucune version de cette conversion qui en garde une.
Les horodatages s’en vont aussi, ce qui surprend plus que les données de capteur. Un LineString stocke des coordonnées et rien d’autre, donc le `<Time>` de chaque point de trace du TCX est écarté et le KML enregistre où la ligne est allée sans enregistrer quand une quelconque partie a été atteinte.
La conséquence visible dans Google Earth est que le curseur de temps — le contrôle qui vous laisse avancer dans une trace et la regarder se dessiner — n’apparaît pas pour ce fichier. Cette animation est pilotée par un élément `gx:Track` avec des valeurs `<when>` parallèles, et cette conversion écrit un LineString simple. Si rejouer la séance est ce que vous cherchiez, la conversion qui garde le temps est TCX vers GPX, et Google Earth ouvrira un GPX directement.
Ce que Google Earth vous donne qu’une carte en deux dimensions ne donne pas, c’est le relief. Inclinez la vue et la montée dont vous vous souveniez comme longue devient une forme avec une pente, la descente a une paroi d’un côté, et un parcours que vous n’avez jamais fait cesse d’être une abstraction. Pour un compte-rendu de course, une reco, ou pour expliquer à quelqu’un pourquoi un segment a fait mal, c’est réellement utile et rien dans les données écartées n’aurait aidé.
La ligne est écrite avec un drapeau de tessellation activé, qui dit au moteur de rendu de subdiviser chaque segment et de suivre le sol entre les sommets. Sans cela, un segment droit à travers une vallée passe sous la surface et la trace disparaît dans le flanc de la colline — la défaillance ressemble à un fichier cassé et c’est un artefact de rendu. Avec, le parcours reste visible sur toute sa longueur, ce qui est la seule manière pour que la vue du terrain vaille la peine d’être eue.
Chaque coordonnée est un triple, et la troisième valeur porte l’altitude de `<AltitudeMeters>` en mètres. Le profil d’altitude de la séance est donc présent dans le KML, et un logiciel qui le lit comme donnée la trouvera.
Google Earth ne la dessinera pas, parce qu’aucun `<altitudeMode>` n’est déclaré et que la valeur par défaut est de plaquer la ligne au terrain. Pour une trace GPS, cette valeur par défaut est la bonne : l’altitude barométrique et satellite errent toutes deux de dizaines de mètres, et une ligne flottant de manière inégale au-dessus d’une crête ressemble à une erreur plutôt qu’à une mesure. Ajouter `<altitudeMode>absolute</altitudeMode>` au LineString à la main la soulèvera dans les airs si vous voulez voir à quel point le récepteur dérivait, ce qui est occasionnellement instructif et jamais flatteur.
Un point de trace sans `<Position>` ne peut pas devenir une coordonnée et est écarté. Les montres continuent d’échantillonner la fréquence cardiaque à travers les tunnels, les passages souterrains et les parkings à plusieurs étages, donc ces tronçons existent dans le TCX comme des points valides avec un temps et pas de localisation — et dans le KML ils existent comme rien du tout.
Sur le globe cela apparaît comme une ligne droite entre le dernier fix avant l’obstruction et le premier après, coupant à travers tout ce qui se trouve entre les deux. Ce n’est pas de la corruption et il n’y a rien à réparer ; le fichier n’a jamais contenu les positions intermédiaires. Une séance entièrement en intérieur, où aucun point n’a de fix, ne produit aucune géométrie et la conversion signale qu’aucune trace ou waypoint n’a été trouvé, ce qui est la description correcte d’une séance qui n’est allée nulle part.
Chaque activité devient un Placemark, et son nom vient de l’attribut `Sport` — restreint par le schéma TCX à une courte liste, donc en pratique `Running`, `Biking` ou `Other`. C’est ce qui apparaît dans la barre latérale de Google Earth.
Le titre que vous avez donné à la séance dans Garmin Connect ou Strava appartient à la base de données de cette plateforme et ne fait pas partie de l’export, donc il ne peut pas être reporté. Quand plusieurs séances se retrouvent dans le même projet Earth, la barre latérale devient une colonne de mots identiques, et renommer l’élément `<name>` dans le KML ensuite est la correction — une édition d’une ligne par repère, et le fichier est du texte brut précisément pour que ce genre d’édition soit trivial.
Les frontières de tour sont aplanies en une ligne continue. Un repère KML n’a aucune notion de division à l’intérieur d’une ligne, donc douze intervalles et un effort régulier produisent une géométrie visuellement identique, et rien sur la carte n’indique où une répétition a commencé ou s’est terminée.
Si le point de montrer le parcours est d’expliquer la structure de la séance, il faut le faire autrement — des repères séparés dessinés à la main dans Google Earth, ou des annotations ajoutées après. Diviser le TCX en une activité par intervalle avant de convertir produira des lignes séparées, mais l’effort impliqué est en général plus grand que de dire quelle partie de la carte était le passage difficile.
Mesuré sur une trace de 7 200 points portant l’heure et l’altitude, un TCX sous cette forme faisait environ 2,2 Mo et le KML équivalent environ 258 Ko — à peu près 315 octets par point de trace contre 36 pour une coordonnée. Un véritable export Garmin avec fréquence cardiaque et cadence à chaque point est plus grand encore, donc la réduction en pratique est en général supérieure à un facteur huit.
Rien de cette économie n’est de la compression, et la lire comme de l’efficacité serait la mauvaise conclusion. C’est une mesure assez directe de ce que le fichier ne contient plus : les noms de balise, les horodatages et les valeurs de capteur. Si le fichier plus petit est ce que vous vouliez, c’est très bien — gardez le TCX, parce que le KML ne peut pas être reconverti en lui.
Le TCX est analysé et le KML écrit dans cet onglet de navigateur. Aucune requête ne transporte le fichier ailleurs, ce que le panneau réseau confirme pendant qu’une conversion tourne, et la page fonctionne avec la connexion coupée une fois chargée.
Le fichier converti est une donnée de santé et une donnée de localisation dans un même document — fréquence cardiaque en fonction du temps, position en fonction du temps, commençant généralement à la porte d’entrée de l’athlète. La sortie est moins exposante, puisque les flux de capteur et l’horloge sont partis, mais le parcours trace toujours une vie. Produire la carte localement signifie que l’original plus riche ne quitte jamais la machine sur le chemin de devenir l’image plus pauvre.
| TCX | KML | |
|---|---|---|
| Nom complet | Training Center XML | Keyhole Markup Language |
| Extension de fichier | .tcx | .kml |
| Type de média | application/vnd.garmin.tcx+xml | application/vnd.google-earth.kml+xml |
| Première publication | 2007 | — |
| Publié par | Garmin | Keyhole |
| Spécification | Training Center XML | OGC KML 2.3 |
| Licence | Publié, non normalisé | Standard ouvert |
| Situation actuelle | Actuel | Actuel |
| S’ouvre dans un navigateur | Aucun navigateur | Aucun navigateur |
| Envisagé à la place | GPX, FIT | KMZ, GPX |
Les logiciels habituels ne se recoupent pas : TCX s’ouvre dans Garmin Connect, Strava et TrainingPeaks, KML dans Google Earth, QGIS et ArcGIS — celui qui reçoit le résultat a donc besoin d’un logiciel de la seconde liste.
Les deux visent des usages différents : TCX le suivi sportif, KML la cartographie. Cela mérite d’être pesé avant, car ce qui justifie l’un est souvent ce qui rend l’autre malcommode.
TCX est le format de Garmin, publié en 2007. La spécification est Training Center XML, et elle mérite d’être connue si le fichier doit survivre à l’outil qui l’a écrit.
KML vient de Keyhole, décrit par OGC KML 2.3. Google Earth, QGIS et ArcGIS le lisent.
Non. Cette conversion se fait entièrement dans votre navigateur : le fichier ne quitte donc pas votre appareil. Vous pouvez le vérifier vous-même — ouvrez l’onglet réseau des outils de développement et convertissez quelque chose. Vous verrez la page elle-même et les requêtes de statistiques et de publicité qui financent ce service, et pas une seule qui transporte votre fichier.
Oui. Pas de compte, pas de filigrane et pas de quota journalier à dépenser : cela tourne sur votre propre machine, vous pouvez donc revenir autant de fois que vous voulez. Le navigateur traite des fichiers jusqu’à 100 Mo, 100 à la fois.
TCX et KML décrivent le contenu de façons radicalement différentes. La conversion est donc une reconstitution et non une copie : fidèle, mais pas identique octet pour octet. Les positions, l’altitude et les horodatages suivent. Les flux de capteurs, la mise en forme et les images intégrées non.
Pas pour la conversion : elle se fait dans le navigateur que vous avez déjà ouvert. Pour ouvrir le résultat, il vous faut ensuite le logiciel avec lequel votre appareil affiche habituellement Keyhole Markup Language.