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 GPX 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 GPX
Presque tous les KML qui finissent par avoir besoin de cette conversion ont été faits à la souris. Quelqu’un a tracé un parcours dans Google Earth, semé des repères dans une couche My Maps, ou exporté un plan depuis un outil dont le seul export est KML. Ce fichier décrit une intention : c’est par là que la ligne doit passer. Un GPX de montre décrit une histoire : c’est par là que le récepteur est passé, à ces instants-là, à cette altitude-là.
La conversion déplace la géométrie du premier dans la forme du second, et tout ce qui fait d’un enregistrement un enregistrement n’est tout simplement pas dans la source à déplacer. Ce n’est pas un défaut du convertisseur, et cela mérite d’être compris avant de regarder le résultat et de croire que quelque chose a raté : le profil d’altitude plat, la durée absente et les angles vifs sont tous des propriétés du dessin, fidèlement transportées.
Chaque LineString devient un <trk> contenant un seul <trkseg>, avec un <trkpt> par sommet, dans un document GPX 1.1. Le nom du repère devient le nom du tracé, donc un appareil qui affiche une liste de tracés affichera ce que vous avez appelé la ligne dans Google Earth plutôt que le nom du fichier.
C’est volontairement un tracé et non un <rte>. GPX distingue les deux : un itinéraire est une liste clairsemée de points entre lesquels naviguer, un tracé est une ligne dense à suivre. Les anciens appareils de poche les traitent différemment, et certains proposent des indications de virage sur un itinéraire et aucune sur un tracé. Si votre appareil veut spécifiquement un itinéraire, convertir le tracé après coup est un travail pour le logiciel de l’appareil — Garmin BaseCamp le fait — plutôt que quelque chose qu’une conversion de format devrait décider à votre place.
Un LineString stocke des coordonnées et rien d’autre, donc le GPX sort sans élément <time> sur aucun point de tracé. Le fichier est valide — l’heure est facultative en GPX 1.1 et un itinéraire n’a aucune raison d’en afficher une — et toute application de navigation le chargera et le suivra.
Là où cela mord, c’est à l’upload. Une plate-forme qui considère un GPX comme une activité terminée doit calculer une durée et une allure, et elle ne peut pas le faire sans deux horodatages à soustraire. Téléversez un itinéraire dessiné en tant qu’itinéraire ou parcours, qui est la fonction conçue exactement pour ce fichier, plutôt qu’en tant qu’activité. Si un service rejette le fichier en se plaignant d’absence de données temporelles, c’est ce qu’il vous dit, et ajouter des horodatages fabriqués produirait une activité qui prétend une allure que personne n’a tenue.
Une coordonnée KML a une troisième valeur facultative en mètres. Google Earth, traçant une ligne plaquée au sol, écrit cette troisième valeur à 0 sur chaque sommet, parce que l’altitude est sans signification quand le rendu va de toute façon poser la ligne sur le terrain. La conversion prend le chiffre pour argent comptant, donc chaque point de tracé reçoit <ele>0</ele> et votre appareil dessine un profil plat au niveau de la mer sans aucun dénivelé.
Un export My Maps se comporte souvent différemment, en n’écrivant que deux valeurs par coordonnée, auquel cas aucun élément <ele> n’est écrit du tout — ce qui est le résultat le plus honnête et a le même rendu sur la plupart des appareils. Dans les deux cas, l’altitude doit venir d’ailleurs. La plupart des planificateurs d’itinéraires la régénèrent à partir d’un modèle de terrain à l’import, et ce chiffre est meilleur que le zéro de toute façon, puisqu’il vient d’un levé plutôt que d’un récepteur qui rebondit sur un coteau.
La conversion écrit exactement autant de points de tracé que le KML avait de sommets et n’interpole jamais. Un parcours d’une journée tracé à la souris fait couramment quarante à deux cents sommets ; le même parcours enregistré par une montre à un échantillon par seconde en compte trente mille. Sur une carte à faible zoom, les deux se ressemblent. En zoomant, celui qui a été dessiné coupe les virages, traverse une rivière là où il n’y a pas de pont, et file en ligne droite à travers un lacet.
Cela compte le plus pour tout ce qui mesure. La distance calculée le long d’une polyligne grossière est systématiquement trop courte, parce que chaque courbe a été remplacée par sa corde, et une descente de montagne avec quinze lacets peut perdre une fraction significative de sa longueur. Si le chiffre compte, planifiez le parcours dans un outil qui se cale sur le réseau de routes ou de chemins — le résultat est plus dense et suit la géométrie réelle — et réservez cette conversion aux lignes dont vous avez dessiné exprès la forme exacte.
Un repère contenant un <Point> devient un <wpt> GPX à la même position, en conservant le nom qu’il portait. Les waypoints sont écrits avant les tracés dans le fichier, ce qui est l’ordre conventionnel et celui qu’attendent les appareils de poche. Sur la plupart des appareils, ils apparaissent comme des points d’intérêt que vous pouvez sélectionner et atteindre indépendamment du parcours.
C’est souvent la moitié la plus utile de la conversion. Une couche de trente repères — points d’eau, portails, campements, points de rendez-vous — devient trente entrées nommées sur une montre, ce qu’aucun regard porté à une ligne de parcours ne vous donne. Les noms sont transportés tels quels, donc cela vaut le coup de les raccourcir avant la conversion : un écran qui affiche onze caractères tronque « Point d’eau près du pont » en quelque chose d’inutile.
Deux constructions en KML reviennent avec rien. Un <Polygon> — une limite, une zone d’autorisation, une région ombrée — garde son contour dans des éléments de limite imbriqués que ce lecteur n’ouvre pas, donc une zone ne contribue aucun tracé. Un <MultiGeometry>, qui enveloppe plusieurs lignes ou points dans un même repère, est sauté pour la même raison structurelle.
Si le fichier entier est construit de cette manière, la conversion s’arrête et dit qu’aucun tracé ni aucun waypoint n’a été trouvé, ce qui est exact plutôt qu’un échec d’essai. La solution de contournement, quand le contour est ce qu’on veut suivre, consiste à rouvrir le KML dans Google Earth et à redessiner la limite comme un tracé — un polygone et un LineString se ressemblent à l’écran et sont des objets différents dans le fichier. Cela prend une minute et produit quelque chose que tout appareil sait lire.
Si le KML vient d’un export GPS plutôt que d’un dessin, il peut contenir un gx:Track à la place d’un LineString : l’extension de Google, qui stocke une liste d’horodatages <when> à côté d’une liste correspondante de positions <coord>. 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é GPX.
Cette seule différence change ce à quoi la sortie sert. Un GPX converti depuis un gx:Track est un enregistrement, avec une durée et une allure, et il s’upload comme n’importe quelle activité. La façon rapide de savoir de quel genre de KML vous disposez est de chercher la chaîne when dans le fichier — si elle est là, attendez-vous à des horodatages dans le GPX, et si elle ne l’est pas, attendez-vous à aucun. Les coordonnées à l’intérieur d’un gx:Track sont séparées par des espaces plutôt que par des virgules, si bien qu’un fichier peut légitimement utiliser les deux conventions à la fois.
Les repères imbriqués dans des éléments Document et Folder sont trouvés en parcourant l’arborescence, ce qui est nécessaire parce qu’un export My Maps met chaque couche dans son propre dossier et qu’un KML d’un outil de planification peut avoir trois niveaux de profondeur. Les noms de dossiers eux-mêmes ne sont pas transportés : GPX n’a pas de regroupement équivalent, et en inventer un reviendrait à deviner quel niveau comptait.
Ce qui passe, c’est le nom du Document, qui devient le <metadata><name> du GPX, et le nom de chaque repère, qui devient le nom de son tracé ou de son waypoint. Le fichier est écrit en GPX 1.1 avec un attribut creator qui nomme ce convertisseur, donc un appareil qui indique d’où vient un fichier le dira. Rien d’autre de l’en-tête KML — descriptions, définitions de style, position de caméra LookAt — n’a de place dans un GPX et rien de tout cela n’est écrit.
Le KML est analysé et le GPX est écrit dans votre navigateur. Aucune requête n’emporte le fichier, ce qu’on peut vérifier dans l’onglet réseau pendant qu’une conversion tourne, et la page fonctionne sans connexion une fois chargée.
Un parcours prévu en dit moins sur vous qu’un parcours enregistré, mais pas beaucoup moins. Un trait dessiné dit quand même où vous avez l’intention d’être et quand, et une couche My Maps de sites clients ou de visites de biens est commercialement sensible avant d’être personnelle. Convertir en local signifie que le fichier ne devient pas une entrée de journal chez quelqu’un d’autre, ce qui est la seule garantie qui ne dépend pas de la lecture d’une politique de conservation.
| KML | GPX | |
|---|---|---|
| Nom complet | Keyhole Markup Language | GPS Exchange Format |
| Extension de fichier | .kml | .gpx |
| Type de média | application/vnd.google-earth.kml+xml | application/gpx+xml |
| Première publication | — | 2002 |
| Publié par | Keyhole | Topografix |
| Spécification | OGC KML 2.3 | GPX 1.1 |
| Licence | Standard ouvert | Standard ouvert |
| Situation actuelle | Actuel | Actuel |
| S’ouvre dans un navigateur | Aucun navigateur | Aucun navigateur |
| Envisagé à la place | KMZ | TCX |
QGIS lit aussi bien KML que GPX : vous pouvez comparer le résultat à l’original sans second logiciel.
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.
GPX vient de Topografix et date de 2002, décrit par GPX 1.1. Garmin BaseCamp, Strava et QGIS 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 GPX 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 GPS Exchange Format.