Convertir GPX en KML

Vous pouvez convertir GPX 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 GPX. 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.

KML pour continuer à travailler le fichier, KMZ pour l’envoyer

Les deux destinations s’ouvrent dans Google Earth et affichent la même route, donc le choix entre elles porte sur ce qui vient après plutôt que sur ce qu’elle donne à voir. Le KML est un document XML unique que vous pouvez ouvrir dans n’importe quel éditeur de texte, comparer à la version d’hier, charger comme couche vectorielle dans QGIS ou ArcGIS, et modifier avec un script. C’est pourquoi cette page existe séparément de la page KMZ.

Si ce dont vous avez réellement besoin est de joindre la trace à un e-mail, de la remettre à un collègue ou de la téléverser quelque part qui a demandé un fichier Google Earth, la forme compressée est la meilleure réponse et ne vous coûte rien sinon l’éditabilité. Le même contenu mesuré ici se réduit d’à peu près un facteur cinq une fois zippé. Choisissez KML quand le fichier est un document de travail et KMZ quand c’est un livrable.

L’enregistrement devient une forme, et l’horloge reste sur le carreau

Un point de trace GPX porte un élément `<time>`, et c’est ce qui fait d’un GPX un enregistrement plutôt qu’un dessin : le fichier sait non seulement où va la ligne mais aussi quand chaque partie a été atteinte. Une LineString KML n’a pas d’équivalent. C’est une liste de coordonnées et rien de plus, donc les horodatages sont supprimés dans la conversion et ne peuvent pas être récupérés à partir de la sortie.

La conséquence est concrète. Le curseur temporel de Google Earth, qui permet de faire défiler une trace et de la regarder se dessiner, n’apparaîtra pas pour un fichier converti — cette fonction s’appuie sur un élément gx:Track avec des valeurs `<when>` parallèles, et cette conversion écrit une LineString simple. Tout ce que vous voulez calculer sur l’allure, le temps en mouvement ou les arrêts doit être fait à partir du GPX. Gardez l’original à côté du KML ; ils ne sont pas interchangeables, et c’est le KML qui est la version destructrice.

L’altitude est écrite dans les coordonnées et dessinée au sol quand même

Là où un point de trace GPX portait une valeur `<ele>`, la coordonnée écrite pour celui-ci est un triplet et le troisième slot contient les mètres. Là où il n’y en avait pas, la coordonnée est une paire et il n’y a pas de troisième slot à lire — ce qui est l’état normal d’un itinéraire planifié dans un navigateur plutôt qu’enregistré sur une montre. Donc le profil de dénivelé d’une promenade enregistrée survit octet pour octet et un outil qui lit le KML comme donnée le trouvera ; un itinéraire planifié n’a rien à y trouver, et aucun des deux cas ne produit d’erreur.

Google Earth ne le dessinera pas, et la raison en est un élément unique qui est absent. L’altitude en KML n’a pas de sens sans un `<altitudeMode>` disant comment l’interpréter, et quand aucun n’est déclaré le défaut est `clampToGround` — l’altitude est ignorée et la ligne est posée sur le terrain. C’est le bon défaut pour une trace, parce qu’une altitude GPS dérive de plusieurs dizaines de mètres et qu’une ligne flottant en zigzag au-dessus d’une crête paraît cassée. Si vous voulez la ligne dessinée en l’air, ajoutez `<altitudeMode>absolute</altitudeMode>` à la LineString à la main.

L’option tessellate, et la ligne qui traverserait la colline

Chaque LineString est écrite avec `<tessellate>1</tessellate>`, et c’est là pour corriger un échec visuel précis. Clouée au sol sans tessellation, Google Earth place chaque sommet sur le terrain puis trace un segment droit entre sommets consécutifs. À travers une vallée ou par-dessus une crête, ce segment droit passe sous la surface, et la trace disparaît dans le flanc de la colline et réapparaît de l’autre côté.

Avec la tessellation activée, le moteur de rendu subdivise chaque segment et suit le terrain entre les sommets, donc la ligne reste visible sur toute sa longueur. Le coût, c’est plus de géométrie à gérer pour le moteur, ce qui est imperceptible pour quelques milliers de points et sensible si vous chargez une douzaine de longues traces en même temps. Si un fichier semble lent dans Earth, c’est la première chose qu’il vaut la peine de désactiver.

La longitude passe devant la latitude à la sortie

GPX écrit la latitude et la longitude comme attributs distincts du point de trace, nommés de sorte qu’il n’y a pas d’ambiguïté. KML les écrit comme une chaîne unique séparée par des virgules dans l’ordre `longitude,latitude,altitude`, ce qui est l’opposé de presque tous les autres formats de cette famille et la source classique des cartes qui apparaissent dans le golfe de Guinée.

La conversion fait l’échange, et il y a un moyen rapide de vous convaincre qu’elle l’a fait. Ouvrez le KML dans un éditeur de texte et regardez la première coordonnée : pour n’importe quel point en France métropolitaine, le premier nombre sera petit et le second entre 42 et 51. Si le grand nombre arrive en premier, quelque chose a ré-effectué l’échange, et chaque point du fichier est faux de la même manière.

Les points nommés arrivent comme épingles étiquetées

Un élément `<wpt>` GPX est un point qu’une personne a délibérément marqué — un sommet, un point d’eau, un parking, le portail qui était fermé. Chacun devient son propre Placemark contenant un `<Point>`, en gardant le nom qu’il avait, donc ils apparaissent dans Google Earth comme des épingles étiquetées dans la barre latérale plutôt que d’être fusionnés dans la ligne.

Cette séparation vaut la peine d’être conservée parce que les waypoints et les points de trace ne veulent pas dire la même chose. Un point de trace est un échantillon que l’appareil a pris selon un calendrier ; un waypoint est une décision d’une personne. Les garder comme des entités KML distinctes signifie que vous pouvez masquer le parcours et garder les épingles, ou faire glisser une épingle pour la corriger, sans toucher du tout à la ligne enregistrée.

Quels noms passent, et quelles métadonnées GPX ne passent pas

Trois noms sont transportés. Le `<name>` à l’intérieur du bloc `<metadata>` du GPX devient le nom du Document KML, ce qui s’affiche en haut de la barre latérale dans Google Earth. Le `<name>` de chaque trace devient le nom de son Placemark. Le nom de chaque waypoint devient le nom de son épingle.

Le reste de l’en-tête GPX ne passe pas. Auteur, copyright, lien vers le service d’enregistrement, description, mots-clés et bounding box sont tous définis dans GPX 1.1 et aucun n’est écrit dans le KML. Pas plus que les extensions par point où les montres stockent la fréquence cardiaque et la cadence. Si l’un ou l’autre de ces éléments est la provenance que vous devez garder, gardez le fichier GPX à côté du KML plutôt que de vous attendre à ce qu’un seul fichier contienne les deux.

Pas d’élément Style, donc Earth dessine son apparence par défaut

La sortie ne contient ni `<Style>` ni `styleUrl`. Google Earth applique donc l’apparence de ligne par défaut, et chaque trace convertie se présente comme toute autre — ce qui est exactement ce que vous voulez quand vous allez la restyler, et modérément gênant quand vous chargez huit traces en même temps et voudriez les distinguer.

Styliser après coup est simple dans les deux sens. Dans Google Earth, un clic droit sur le placemark et choisir ses propriétés définit couleur et largeur et les enregistre dans le fichier. Dans un éditeur de texte, un seul bloc `<Style>` avec une couleur et une largeur de `<LineStyle>`, référencé par un `styleUrl` sur chaque placemark, fait la même chose et est facile à scripter sur un dossier de traces converties.

Un fichier plus petit qui reste du texte clair

Le KML est substantiellement plus petit que le GPX dont il vient, ce qui surprend les gens qui s’attendent à ce qu’une conversion coûte des octets. Mesuré sur une trace de 7 200 points — deux heures enregistrées à raison d’une par seconde, avec altitude et heure à chaque point — le GPX faisait environ 950 ko et le KML environ 258 ko. La surcharge de balises XML en est la raison : GPX répète la markup `<trkpt>`, `<ele>` et `<time>` autour de chaque échantillon, alors qu’une LineString énonce ses coordonnées une fois et les sépare par des espaces.

Une partie de cette économie vient de la suppression des horodatages, donc ce n’est pas un repas gratuit. Ce que vous gardez est un fichier qui reste lisible et éditable : vous pouvez l’ouvrir, trouver un point égaré que le GPS a jeté dans un champ à deux kilomètres, supprimer cette ligne et enregistrer. Faire la même édition dans un GPX signifie supprimer quatre lignes au lieu d’une, et la faire dans un KMZ signifie dézipper d’abord.

La trace est convertie ici, et non envoyée quelque part

L’analyse du GPX et l’écriture du KML se font toutes les deux dans cet onglet de navigateur. Aucune requête ne porte le fichier vers un serveur, ce que le panneau réseau montrera pendant une conversion, et la page continue de fonctionner hors ligne une fois chargée. Il n’y a pas de file d’attente d’upload et pas de copie laissée derrière.

Pour un fichier de parcours, c’est une garantie plus forte qu’elle n’en a l’air. Un GPX de montre commence et finit en général devant la maison de celui qui enregistre, et les horodatages disent quels matins la maison était vide. Même avec les heures supprimées sur le chemin du KML, la forme d’un trajet régulier ou d’une boucle d’entraînement identifie une personne et une adresse à quiconque la regarde sur une carte.

Comment convertir GPX en KML

  1. Déposez votre fichier GPX 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é.

GPX et KML : ce qui change

GPX face à KML
GPXKML
Nom completGPS Exchange FormatKeyhole Markup Language
Extension de fichier.gpx.kml
Type de médiaapplication/gpx+xmlapplication/vnd.google-earth.kml+xml
Première publication2002
Publié parTopografixKeyhole
SpécificationGPX 1.1OGC KML 2.3
LicenceStandard ouvertStandard ouvert
Situation actuelleActuelActuel
S’ouvre dans un navigateurAucun navigateurAucun navigateur
Envisagé à la placeTCXKMZ

Ouvrir le résultat

QGIS lit aussi bien GPX que KML : vous pouvez comparer le résultat à l’original sans second logiciel.

À quoi sert chaque format

GPX est le format de Topografix, publié en 2002. La spécification est GPX 1.1, 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 GPX à KML : questions fréquentes

Mon fichier GPX 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 GPX 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 GPX en KML ?

GPX 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