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 KML en TCX 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.
KML en TCX
Ouvrez le KML dans un éditeur de texte et cherchez la chaîne when. Si elle est là, le fichier contient un gx:Track avec de vrais horodatages et cette conversion produira une activité sensée. Si elle ne l’est pas — et pour tout ce qui est dessiné à la main elle ne le sera pas — le fichier est une forme sans horloge, et le TCX construit à partir de là sera une séance qui prétend avoir eu lieu à minuit le 1er janvier 1970 et avoir duré aucun temps.
Ce n’est pas un bug à contourner ; c’est ce que la source contient. TCX est le relevé d’une séance d’entraînement, et une séance se définit par quand elle a commencé et combien de temps elle a duré avant de se définir par où elle est passée. Une ligne dessinée sur une carte n’a aucune de ces propriétés, et aucun convertisseur ne peut les fournir sans les inventer. Si votre KML échoue au test, la destination honnête est un format d’itinéraire, et la dernière section de cette page indique lequel.
Le schéma TCX exige un attribut StartTime sur chaque <Lap> et un <Id> sur chaque <Activity>, et les deux sont des horodatages. Sans heure dans la source il n’y a rien à lire, donc l’origine Unix — 1970-01-01T00:00:00.000Z — est écrite dans les deux, et TotalTimeSeconds est écrit à zéro parce que la différence entre les heures de point ne peut pas être calculée.
Le fichier qui en résulte est conforme au schéma, c’est pourquoi il s’upload plutôt que d’être rejeté. Ce qu’il fait en aval est moins net. Une plate-forme qui trie les activités par date le met une cinquantaine d’années avant tout le reste, un calcul de charge d’entraînement sur une séance de zéro seconde divise par zéro ou l’ignore, et toute allure dérivée de la distance sur la durée est indéfinie. Rien de tout cela n’est un mauvais fonctionnement — c’est l’arithmétique d’un fichier qui dit n’avoir pris aucun temps.
Un gx:Track est l’extension de Google pour les données enregistrées : des listes parallèles d’horodatages <when> et de positions <coord>, écrites par des outils qui exportent des traces GPS en KML plutôt qu’en GPX. Il est lu comme un cas à part, et les horodatages sont transportés tels quels dans l’élément <Time> de chaque point de tracé TCX.
Quand c’est ce que vous avez, tout en aval fonctionne correctement. Le début de la boucle vient du premier point, la durée est le temps écoulé réel, et l’activité atterrit à la bonne place dans un journal d’entraînement. C’est un chemin vraiment utile pour quiconque dont le logiciel d’enregistrement exporte en KML et dont l’entraîneur veut des fichiers Garmin, et c’est la raison pour laquelle cette conversion existe plutôt que d’être refusée.
Une boucle TCX doit déclarer un DistanceMeters, et un KML n’en stocke aucun, donc le chiffre est calculé en sommant la distance grand-cercle entre sommets consécutifs sur une sphère de rayon 6 371 000 mètres. Comparé à un calcul ellipsoïdal, c’est exact à quelques millièmes près, ce qui n’est pas la source d’erreur dont il faut se soucier ici.
L’erreur dont il faut se soucier est la forme de l’entrée. Un trait dessiné à la main a un sommet là où vous avez cliqué, donc chaque courbe a été remplacée par la corde qui la traverse. Une route avec quinze lacets tracée en six clics est mesurablement plus courte que la route, et l’activité prétendra que ce chiffre plus court est la vérité. Un parcours calé sur le réseau de chemins par un planificateur sérieux n’a pas ce problème, ce qui est une raison de plus pour que les planificateurs soient la meilleure source pour tout ce que vous avez l’intention de mesurer.
Trois déclarations sont écrites avec des valeurs fixes parce que rien dans un KML ne leur correspond. Le Sport de l’activité est Other, puisque le schéma n’autorise qu’une courte énumération et qu’une ligne dessinée ne dit rien de la discipline. <Intensity> est Active et <TriggerMethod> est Manual, qui sont les lectures honnêtes pour une boucle qu’aucun appareil n’a jamais démarrée ou arrêtée.
Les trois méritent d’être corrigés après import si l’activité doit rester. La plupart des plates-formes vous laissent changer le type après coup, et le changement compte plus qu’il n’en a l’air — les modèles de charge d’entraînement, les zones d’allure et la détection de record personnel s’articulent tous autour de la discipline, si bien qu’une séance classée Other est tranquillement laissée de côté dans la plupart d’entre eux. Les valeurs d’intensité et de déclencheur sont cosmétiques par comparaison et peuvent être laissées telles quelles.
Une séance d’entraînement n’a pas de concept de waypoint, donc là où le KML contient des lignes les repères de points sont tout simplement laissés de côté. Il n’y a pas d’élément TCX qui pourrait les contenir, et en inventer un produirait un fichier qui échoue à la validation chez tout lecteur.
Un KML entièrement composé de repères est géré plutôt que refusé : les points sont lus comme un tracé dans l’ordre du document, ce qui produit une activité qui prétend un parcours entre eux. Si cela a un sens dépend de ce qu’étaient les repères. Une suite de points de contrôle le long d’un parcours devient quelque chose de reconnaissable ; un semis de sites sans rapport devient une activité qui décrit un trajet que personne n’a fait, à une distance que personne n’a parcourue, datée de 1970.
La troisième valeur d’une coordonnée KML devient <AltitudeMeters> sur le point de tracé. Google Earth, traçant une ligne plaquée au sol, écrit cette valeur à 0 sur chaque sommet parce que le rendu l’ignore, si bien qu’un TCX converti porte couramment une altitude de zéro du début à la fin.
Une plate-forme d’entraînement qui lit ce fichier ne signale aucun dénivelé et un profil plat, ce qui est l’interprétation correcte des chiffres qu’on lui a donnés. Quand le KML omet entièrement la troisième valeur — ce que les exports My Maps font souvent — aucun élément d’altitude n’est écrit, et la plupart des plates-formes remplissent alors l’altitude à partir de leur propre modèle de terrain, ce qui produit une meilleure réponse que les zéros. L’absence est plus utile que la valeur fausse, ce qui est une chose inhabituelle à pouvoir dire.
Au-delà du chiffre de distance, le nombre de sommets affecte la façon dont l’activité se présente une fois dans un journal d’entraînement. Une sortie enregistrée a un point par seconde ; un parcours dessiné peut en avoir un par kilomètre. Les graphiques construits à partir du second type sont faits d’une poignée d’échantillons, et toute allure par point qu’une plate-forme calcule à partir d’horodatages qui n’existent pas n’est tout simplement pas calculée.
Le résultat est une activité qui s’affiche comme une ligne sur une carte et comme un espace vide partout ailleurs — pas de graphique d’allure, pas de graphique d’altitude, pas de splits. C’est un juste reflet d’un fichier qui contient quarante coordonnées et aucune horloge, et c’est l’argument pratique le plus clair pour traiter la chose comme un itinéraire plutôt que de la déguiser en séance.
Si le KML est un plan, convertissez-le en GPX et chargez-le comme itinéraire ou parcours. Toute plate-forme et tout appareil a cette fonction — Garmin l’appelle un parcours (course), Strava et Komoot l’appellent un itinéraire — et aucun n’exige d’heure de début ni de durée, parce qu’un plan n’est pas censé en avoir. La ligne sera suivie, les waypoints viendront avec elle, et rien dans le fichier ne prétendra être une mesure.
L’activité que vous voulez existera ensuite, enregistrée par l’appareil qui suit le parcours, avec de vrais horodatages et de vraies données de capteur. C’est l’ordre dans lequel les outils ont été conçus, et c’est beaucoup moins de travail qu’importer une séance fabriquée et corriger à la main sa date, son type et sa durée.
Le KML est analysé et le TCX est écrit dans ce navigateur. Aucune requête n’emporte le fichier, ce que l’onglet réseau confirme pendant une conversion, et la page fonctionne hors ligne une fois chargée.
Pour un parcours prévu, la sensibilité n’est pas la même que pour un parcours enregistré, mais elle n’est pas nulle. Un trait dessiné dit où quelqu’un a l’intention d’être, et une couche My Maps de visites clients, de visites de biens ou de points de relevé est commercialement confidentielle avant d’être personnelle. Convertir en local signifie que le plan n’acquiert pas une copie sur le disque de quelqu’un d’autre comme effet de bord d’un changement d’extension.
| KML | TCX | |
|---|---|---|
| Nom complet | Keyhole Markup Language | Training Center XML |
| Extension de fichier | .kml | .tcx |
| Type de média | application/vnd.google-earth.kml+xml | application/vnd.garmin.tcx+xml |
| Première publication | — | 2007 |
| Publié par | Keyhole | Garmin |
| Spécification | OGC KML 2.3 | Training Center XML |
| Licence | Standard ouvert | Publié, non normalisé |
| Situation actuelle | Actuel | Actuel |
| S’ouvre dans un navigateur | Aucun navigateur | Aucun navigateur |
| Envisagé à la place | KMZ, GPX | GPX, FIT |
Les logiciels habituels ne se recoupent pas : KML s’ouvre dans Google Earth, QGIS et ArcGIS, TCX dans Garmin Connect, Strava et TrainingPeaks — celui qui reçoit le résultat a donc besoin d’un logiciel de la seconde liste.
Les deux visent des usages différents : KML la cartographie, TCX le suivi sportif. Cela mérite d’être pesé avant, car ce qui justifie l’un est souvent ce qui rend l’autre malcommode.
KML est le format de Keyhole. La spécification est OGC KML 2.3, et elle mérite d’être connue si le fichier doit survivre à l’outil qui l’a écrit.
TCX vient de Garmin et date de 2007, décrit par Training Center XML. Garmin Connect, Strava et TrainingPeaks 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.
KML et TCX 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 Training Center XML.