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é
KML
Le format de Google Earth et Maps pour les points, les lignes et les surfaces.
KML
KML est un format texte que n’importe quel éditeur ouvre. Il est utilisé pour la cartographie.
L’extension est .kml et le nom complet Keyhole Markup Language. L’un et l’autre comptent moins que ce que le fichier peut contenir, et c’est le sujet du reste de cette page.
Il vient de Keyhole. La spécification est OGC KML 2.3.
L’âge est utile à connaître pour une raison pratique : plus un format est ancien, plus les programmes ont eu le temps de l’apprendre.
Elle est publiée intégralement : n’importe qui peut l’implémenter à partir du document plutôt qu’en l’observant, et c’est pourquoi ce format apparaît dans tant de programmes et pourquoi des fichiers écrits il y a vingt ans s’ouvrent encore. Une spécification publiée n’est pas pour autant libre de redevances : quand un format enveloppe un codec, les brevets sont une question à part, que la norme ne tranche pas.
KML enregistre son contenu à l’identique. Le réenregistrer ne change rien : vous pouvez l’ouvrir, le modifier et le réenregistrer autant de fois que vous voulez sans accumuler de dégâts, et c’est ce qui en fait un format de travail plutôt qu’un format de livraison.
Google Earth, QGIS et ArcGIS le lisent, comme la plupart des programmes du même genre.
Quand un fichier ne s’ouvre pas, le format est rarement en cause : le plus souvent, c’est le programme qui est plus ancien que lui. Convertir vers quelque chose de plus ancien est le contournement fiable, et c’est à cela que sert le reste de ce site.
Aucun navigateur ne le lit.
C’est de loin la raison la plus fréquente de le convertir : non pas que le format soit mauvais, mais que l’endroit où vous voulez montrer le fichier ne sache pas le lire.
KML est fait pour être ouvert et modifié. Gardez le fichier dans ce format tant que le travail dure, et exportez depuis lui chaque fois qu’une version finie est nécessaire.
KML décrit ce qui doit apparaître sur une carte et comment cela doit se présenter. Un repère avec une icône et une description qui s’ouvre dans une bulle au clic. Une ligne avec une couleur et une largeur. Un polygone avec un remplissage, extrudé vers le haut à une certaine hauteur. Une structure de dossiers qui les regroupe, avec chaque couche activable et désactivable.
Cela en fait une catégorie d’objet différente de GPX, qui est une liste de points mesurés sans opinion sur la présentation. Un KML peut contenir une trace aussi, mais son but est de montrer quelque chose à quelqu’un — ce qui explique pourquoi c’est ce que Google Earth et Google My Maps produisent, et pourquoi les fichiers partagés sont généralement en KML.
Un KMZ est une archive ZIP contenant un KML plus tout ce qu’il référence — icônes personnalisées, photographies, images de superposition. Renommez-le en `.zip` et n’importe quel outil d’archive l’ouvre.
C’est la forme la plus pratique pour tout ce qui contient des images, parce qu’un KML nu pointant vers des images sur votre propre ordinateur n’affiche rien chez quiconque. Le XML se comprime en outre fortement, donc un grand jeu de données tient souvent dans un cinquième de sa taille. Google Earth écrit du KMZ par défaut pour exactement ces raisons, et dézipper pour obtenir le KML brut est une opération en une étape quand un outil l’exige.
Trois types de géométrie couvrent quasiment tout. Un point est un repère — un commerce, un point de vue, une borne de géomètre. Une polyligne est un chemin, une limite ou un itinéraire. Un polygone est une zone : une propriété, un quartier, une zone de recherche, un dossier d’urbanisme.
Les polygones sont là où KML fait quelque chose que GPX ne peut pas. Une zone a un intérieur, elle peut comporter des trous, elle peut être remplie et rendue semi-transparente, et elle peut être extrudée en bloc tridimensionnel. Tout ce qui concerne un territoire plutôt qu’un déplacement veut ce format, et traduire un tel fichier dans un format de trace perd la notion entièrement.
Couleurs, icônes, largeurs de ligne, tailles d’étiquettes et transparence sont tous dans le document, et les couleurs sont écrites dans un ordre qui surprend tout le monde : alpha, bleu, vert, rouge, qui est l’ordre inverse de la notation habituelle. Une teinte qui semble fausse est presque toujours cela.
Les styles peuvent être définis une fois et référencés par de nombreuses entités, ce qui est ce qui maintient gérable un fichier de deux mille repères. Cela signifie aussi qu’une remise en style en masse est une modification à un seul endroit — à savoir avant que quelqu’un n’édite deux mille éléments à la main.
Une superposition au sol épingle une image sur la carte entre quatre coordonnées : une carte historique scannée, un plan de site, une photographie aérienne, une carte de chaleur venue d’ailleurs. C’est la fonctionnalité qui transforme Google Earth d’un visualiseur en un endroit où l’on peut comparer des choses, et aucun format d’activité n’a d’équivalent.
Un lien réseau va plus loin et fait pointer le fichier vers une URL, qui se rafraîchit selon un minuteur. C’est ainsi que des données vivantes entrent dans Google Earth — positions de véhicules, météo, mesures de capteurs — et cela signifie qu’un KML peut ne faire que quelques lignes et afficher quand même un jeu de données en mise à jour permanente. Cela signifie aussi qu’un KML partagé peut n’afficher rien du tout une fois que ce vers quoi il pointait a disparu.
Google My Maps l’importe directement et c’est la manière la plus simple de mettre une carte partagée sur le web. QGIS le lit pour tout travail analytique. La plupart des logiciels SIG le font, même si plusieurs le voudront en GeoJSON ou Shapefile d’abord, ce qui est la conversion habituelle dans ce sens.
Ce que quasi rien ne fait, c’est l’afficher en place — aucun navigateur n’ouvre un KML de lui-même, et un client de messagerie propose de le télécharger et rien de plus. C’est la raison ordinaire pour laquelle les gens convertissent : non pas que le format soit déficient, mais parce que l’endroit où ils veulent le montrer ne sait pas le lire.
De GPX vers KML est le sens tranquille : une trace devient une polyligne, les points de passage deviennent des repères, et le style doit être fourni puisque la source n’en avait pas. Le résultat est un fichier qui ressemble à quelque chose plutôt qu’à une simple ligne.
Le sens inverse perd tout ce que GPX ne sait pas exprimer, soit l’essentiel de ce pour quoi un KML existe — les polygones n’ont pas d’équivalent, les superpositions et les liens réseau non plus, le style est abandonné, et la structure de dossiers s’aplatit. Si le KML est vraiment une trace, la conversion est propre ; si c’est une carte, attendez-vous à garder l’original.
| Extension | .kml |
|---|---|
| Type de média | application/vnd.google-earth.kml+xml |
| Publié par | Keyhole |
| Spécification | OGC KML 2.3 |
Google Earth en est la maison naturelle, et Google My Maps en importe un directement si vous voulez le mettre sur le web. QGIS les ouvre pour le travail analytique. Aucun navigateur n’affiche un KML par lui-même, ce qui est la raison ordinaire pour laquelle les gens convertissent.
Un KMZ est une archive ZIP contenant le KML plus ses icônes, photographies et images de superposition. C’est le meilleur fichier à partager, puisqu’un KML nu référençant des images locales n’affiche rien sur une autre machine, et la compression est substantielle.
KML décrit une carte — repères, lignes stylées, zones remplies, superpositions — et c’est ce que parle Google Earth. GPX décrit des données d’activité et de navigation — points de passage, itinéraires et traces enregistrées — et c’est ce que parlent les appareils GPS. Convertir une carte en GPX perd l’essentiel de ce qui en fait une carte.
KML écrit la couleur en alpha, bleu, vert, rouge, qui est l’ordre hexadécimal inversé de l’usage habituel. Une valeur copiée d’ailleurs arrive avec le rouge et le bleu échangés.
Il peut les référencer, et un KML nu pointant vers des images sur votre propre ordinateur n’affichera rien pour quiconque. Enregistrez en KMZ à la place, qui empaquette les images à l’intérieur du fichier.
Soit il référence des fichiers locaux qui n’ont pas voyagé avec lui, soit il utilise un lien réseau pointant vers une URL qui ne sert plus rien. Le premier se corrige en envoyant un KMZ ; le second ne se corrige pas depuis le fichier.