Convertir TCX en KML

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.

  • Où cela s’exécute Dans votre navigateur. Le fichier n’est pas téléversé.
  • Reconstruit KML ne fonctionne pas comme TCX. Il ne s’agit donc pas de la dégradation progressive d’un codec avec perte : ce que KML sait exprimer est reproduit fidèlement, et ce qui n’y a pas d’équivalent ne subsiste pas du tout.
  • Limite de taille Jusqu’à 100 Mo par fichier, gratuitement et sans compte.
  • Bon à savoir Les positions, l’altitude et les horodatages suivent. Les flux de capteurs, la mise en forme et les images intégrées non.

Jusqu’à 100 fichiers à la fois. Les formats mélangés ne posent pas de problème.

C’est une conversion en image, et elle doit être traitée comme telle

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.

Les flux qui s’arrêtent à la conversion

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.

Même l’horloge est laissée de côté

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.

Voir le terrain, qui est la raison honnête de faire cela

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.

L’altitude est écrite dans le fichier et dessinée au sol

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.

Les sauts droits là où le récepteur a perdu le ciel

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.

Le sport est la seule étiquette disponible

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 tours disparaissent, et avec eux la forme de la séance

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.

Un fichier bien plus petit, pour une raison claire

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.

Une carte de séance faite sans confier la séance

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.

Comment convertir TCX en KML

  1. Déposez votre fichier TCX sur cette page, ou cliquez pour en choisir un.
  2. Choisissez KML comme destination. La conversion se fait dans votre navigateur et le fichier n’est pas téléversé.
  3. Téléchargez le fichier KML terminé.

TCX et KML : ce qui change

TCX face à KML
TCXKML
Nom completTraining Center XMLKeyhole Markup Language
Extension de fichier.tcx.kml
Type de médiaapplication/vnd.garmin.tcx+xmlapplication/vnd.google-earth.kml+xml
Première publication2007
Publié parGarminKeyhole
SpécificationTraining Center XMLOGC KML 2.3
LicencePublié, non normaliséStandard ouvert
Situation actuelleActuelActuel
S’ouvre dans un navigateurAucun navigateurAucun navigateur
Envisagé à la placeGPX, FITKMZ, GPX

Ouvrir le résultat

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.

À quoi sert chaque format

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.

De TCX à KML : questions fréquentes

Mon fichier TCX est-il téléversé quelque part ?

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.

Convertir TCX en KML est-il gratuit ?

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.

Y a-t-il une perte de qualité en convertissant TCX en KML ?

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.

Dois-je installer quelque chose pour ouvrir un fichier KML ?

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.

En savoir plus sur ces formats