Google KML (.kml)

Norme Standard

Le Keyhole Markup Language (KML) est la norme XML ouverte pour l'expression d'annotations et de visualisations géographiques, initialement développé pour Keyhole Earth Viewer (Google Earth) et standardisé par l'Open Geospatial Consortium (OGC).

Convertir GEOJSON en KML

Outil de conversion gratuit de GEOJSON vers KML dans le navigateur. Convertissez des fichiers instantanément sur votre appareil.

Inspection et métadonnées

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers KML en inspectant leur séquence initiale d'octets binaires :

Sélectionnez ou déposez des fichiers ici

Privé - les fichiers ne quittent jamais votre appareil

ou coller Ctrl+V
Garantie de confidentialité sans transmission réseau : 0 octet envoyé vers des serveurs externes. Tout le traitement a eu lieu localement dans le bac à sable de votre navigateur.

Signature d'en-tête au niveau des octets (octets magiques)

Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers KML en inspectant leur séquence initiale d'octets binaires :

SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :

3C 6B 6D 6C

REPRÉSENTATION ASCII : <kml

Normalisation : Norme KML 2.3 de l'OGC

Spécifications techniques

Architecture de conteneurGrammaire de visualisation géographique basée sur XML définissant des repères (Placemarks), des superpositions au sol (GroundOverlays), des modèles 3D et des perspectives de caméra
CompressionTexte XML non compressé (compressé avec ZIP sous forme de fichiers .kmz)
Ordre des octetsFlux de texte UTF-8 / Unicode
Espaces colorimétriquesChaînes de caractères de couleur hexadécimale AABBGGRR
Canaux et structureRepères, chemins, polygones, modèles de bâtiments 3D, superpositions de photos et chemins de caméra de visite
Dimensions maximalesCoordonnées WGS 84 : longitude, latitude, altitude (en mètres au-dessus du niveau de la mer)
TransparenceTransparence alpha prise en charge dans les chaînes de couleur AABBGGRR et les superpositions PNG
Prise en charge du traitement en continuNetworkLinks permet de recevoir en continu des mises à jour de serveurs géospatiaux distants.

Matrice de comparaison technique : KML face aux concurrents

Attribut techniqueKML (Actuel)GEOJSONGPXKMZ
Caméra 3D et survolsInclinaison complète de la caméra, cap et visites aériennesAucun (propriétés de géométrie plane)Suivi du profil altimétriqueInclinaison complète de la caméra et visites aériennes
Format du conteneurDocument XML en texte brutDocument JSON en texte brutDocument XML en texte brutArchive ZIP contenant doc.kml
Format des couleursAABBGGRR (Alpha-Bleu-Vert-Rouge)Norme CSS / HexAucunAABBGGRR
Destination principaleGoogle Earth et SIG 3DCartes web (Mapbox, Leaflet)Suivi sportif par GPS et GarminArchive autonome Google Earth

Modes de corruption courants et guide de restauration hexadécimale

Erreur Google Earth : « Erreur d’analyse à la ligne X : balise discordante. »

Cause initiale: Balise XML non fermée ou esperluette non échappée dans le code HTML de la description de l'infobulle.

Récupération: Réparez la syntaxe XML et placez la description entre <![CDATA[ et ]]> avec l’outil de réparation KML de File2File.app.

Analyse de sécurité et vecteurs d'attaque de l'analyseur

Les fichiers KML prennent en charge les NetworkLinks et les infobulles de description HTML qui peuvent déclencher des attaques XXE, SSRF ou des scripts intersites (XSS).

Vecteurs d’attaque connus

  • Falsification de requête côté serveur (SSRF) via des balises <NetworkLink> malveillantes interrogeant des points de terminaison internes de l'intranet.
  • Injection XSS via du code HTML non assaini à l'intérieur des balises <description> exécutées dans les bulles de Google Earth sur ordinateur ou sur le Web.
  • Injection d'entités externes XML (XXE) lors du traitement automatisé de fichiers KML.

Bonnes pratiques de défense: Désactivez la récupération de données sur les réseaux externes et nettoyez avec DOMPurify le contenu HTML des infobulles.

Origines historiques et jalons

2008L'Open Geospatial Consortium (OGC) adopte KML 2.2 comme norme géospatiale internationale officielle.
2005Google acquiert Keyhole Inc., rebaptisant Keyhole Earth Viewer Google Earth et démocratisant KML à l'échelle mondiale.
2001Keyhole Inc. crée KML pour annoter l'imagerie satellite 3D.

Principaux avantages

  • Visualisation riche de la Terre en 3D : le format définit les points, les angles de caméra, le cap, l’inclinaison, l’altitude et les visites guidées en 3D.
  • La prise en charge de KML dépend de l’application ; les fonctionnalités disponibles varient selon les outils SIG et cartographiques.
  • Les liens NetworkLink peuvent récupérer des ressources KML associées ; leur actualisation dépend des paramètres du document et du logiciel de visualisation.

Limites techniques

  • La syntaxe XML verbeuse entraîne des tailles de fichiers plus importantes que les formats compacts comme GeoJSON.
  • Les couleurs utilisent l'ordre hexadécimal non conventionnel AABBGGRR (Alpha-Bleu-Vert-Rouge) plutôt que le RGBA standard.
  • Les fonctionnalités 3D complexes (visites, modèles) sont rarement prises en charge sur les plateformes de cartographie web légères.

Faits intéressants

  • Keyhole Inc. a été nommée d'après les satellites espions de reconnaissance KH (Keyhole) lancés par les États-Unis pendant la guerre froide.
  • En KML, les valeurs de couleur sont écrites à l'envers sous la forme AABBGGRR : les deux premiers caractères correspondent à l'alpha, puis viennent le bleu, le vert et le rouge.
  • Une archive KMZ contient au moins un fichier KML et peut inclure des fichiers associés. doc.kml est le nom habituel du fichier principal, mais d’autres noms sont autorisés.

Foire aux questions techniques

Quelle est la différence entre KML et KMZ ?

KML est un fichier XML en texte brut. KMZ est une archive ZIP compressée qui contient un fichier KML et, éventuellement, des icônes personnalisées, des textures ou des images superposées en 3D.

Comment puis-je convertir un fichier KML en GeoJSON ?

Vous pouvez convertir des fichiers KML de Google Earth en GeoJSON bien formaté pour la cartographie sur le Web en un seul clic à l'aide de File2File.app directement dans votre navigateur.

Puis-je ouvrir un fichier KML dans Google Maps ?

Oui ! Dans Google Maps, allez dans 'Enregistrés' -> 'Cartes' -> 'Créer une carte' (Google My Maps) et cliquez sur 'Importer' pour télécharger votre fichier KML.