Le KML (Keyhole Markup Language) est un format de fichier basé sur XML permettant d'exprimer des entités géographiques — points (repères), lignes, polygones, superpositions au sol et modèles 3D — ainsi que leur style. Développé à l'origine pour Google Earth, il est devenu une norme de l'Open Geospatial Consortium (OGC) en 2008.

Pourquoi c'est important

Le KML est le format de fait pour partager des données spatiales simples avec un public non-SIG, car Google Earth (gratuit et très répandu) l'ouvre directement. Pour les consultants, c'est un moyen pratique de livrer des limites de site, des emplacements d'échantillons ou des entités annotées à des clients qui n'utilisent pas de SIG bureautique. Le KMZ est simplement un KML compressé, qui regroupe souvent les icônes et l'imagerie dans un seul fichier distribuable.

Un exemple concret

Les coordonnées KML sont toujours stockées dans l'ordre longitude, latitude, altitude, en degrés décimaux sur WGS84 (EPSG:4326). Un repère unique se présente ainsi :

<Placemark>
  <name>Drill collar BH-01</name>
  <Point><coordinates>-2.345,51.678,0</coordinates></Point>
</Placemark>

Vous pouvez convertir un shapefile ou un GeoPackage en KML avec ogr2ogr -f KML out.kml in.shp, et GDAL/OGR reprojettera automatiquement en WGS84 si nécessaire.

Piège fréquent

Comme le KML est figé sur les coordonnées géographiques WGS84, il ne convient pas comme format d'analyse — vous ne pouvez pas mesurer une surface ou une distance de façon fiable en degrés, et les données projetées doivent être reprojetées à l'export. Le KML gère aussi mal les tables d'attributs et les gros jeux de données ; pour l'échange entre outils SIG, GeoJSON, GeoPackage ou FlatGeobuf sont généralement de meilleurs choix.

Pour aller plus loin