Google KML (.kml)
Norme StandardLe 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 :
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 6CREPRÉSENTATION ASCII : <kml
Normalisation : Norme KML 2.3 de l'OGC
Spécifications techniques
| Architecture de conteneur | Grammaire 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 |
| Compression | Texte XML non compressé (compressé avec ZIP sous forme de fichiers .kmz) |
| Ordre des octets | Flux de texte UTF-8 / Unicode |
| Espaces colorimétriques | Chaînes de caractères de couleur hexadécimale AABBGGRR |
| Canaux et structure | Repères, chemins, polygones, modèles de bâtiments 3D, superpositions de photos et chemins de caméra de visite |
| Dimensions maximales | Coordonnées WGS 84 : longitude, latitude, altitude (en mètres au-dessus du niveau de la mer) |
| Transparence | Transparence alpha prise en charge dans les chaînes de couleur AABBGGRR et les superpositions PNG |
| Prise en charge du traitement en continu | NetworkLinks permet de recevoir en continu des mises à jour de serveurs géospatiaux distants. |
Matrice de comparaison technique : KML face aux concurrents
| Attribut technique | KML (Actuel) | GEOJSON | GPX | KMZ |
|---|---|---|---|---|
| Caméra 3D et survols | Inclinaison complète de la caméra, cap et visites aériennes | Aucun (propriétés de géométrie plane) | Suivi du profil altimétrique | Inclinaison complète de la caméra et visites aériennes |
| Format du conteneur | Document XML en texte brut | Document JSON en texte brut | Document XML en texte brut | Archive ZIP contenant doc.kml |
| Format des couleurs | AABBGGRR (Alpha-Bleu-Vert-Rouge) | Norme CSS / Hex | Aucun | AABBGGRR |
| Destination principale | Google Earth et SIG 3D | Cartes web (Mapbox, Leaflet) | Suivi sportif par GPS et Garmin | Archive 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
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.
Conversions associées à KML
La conversion de vecteurs GeoJSON en Google KML traduit des tableaux de coordonnées JSON légers en documents XML structurés adaptés à Google Earth et Google Maps.
La conversion de fichiers Google KML en GeoJSON transforme les données géographiques XML hiérarchiques en un format vectoriel JavaScript Object Notation léger pour les cartes Web modernes.
La conversion de données de traces GPS GPX au format Google KML permet d'afficher instantanément des journaux bruts de suivi en plein air dans Google Earth et des applications de cartographie Web personnalisées.
La conversion du balisage géographique Google KML en traces GPS GPX standardise les fonctionnalités de cartographie propriétaires en données universelles de points de cheminement et de traces.