KML (Keyhole Markup Language) est un format de données XML utilisé pour afficher des informations dans un contexte géographique. Tout comme les navigateurs Web lisent et affichent des fichiers HTML, les navigateurs terrestres tels que Google Earth lisent et affichent des fichiers KML. KML est un langage lisible par tout un chacun, composé de texte et de ponctuation. Il peut être créé et édité avec un éditeur de texte de base, enregistré, puis visualisé dans un navigateur terrestre. Vous n’avez pas besoin d’être un as de la technique pour maîtriser les bases du KML, et vous constaterez que cette connaissance vous permettra de créer des présentations puissantes qui mettent en scène vos données et images géographiques sur les nombreux navigateurs terrestres gratuits :Google Earth, Microsoft Virtual Earth,NASA WorldWind,ArcGis Explorer,…

Vous pouvez créer des fichiers KML avec l’interface utilisateur de Google Earth, ou vous pouvez utiliser un simple éditeur de texte  pour écrire du KML brut à partir de zéron. Les fichiers KML et leurs images apparentées peuvent être stockés dans des archives KMZ afin que tous les fichiers d’image et de modèle associés soient contenus dans un seul conteneur KMZ compressé. Pour partager vos fichiers KML et KMZ, vous pouvez les envoyer par courrier électronique comme pièces jointes, les héberger localement pour le partager sur un réseau privé ou sur un réseau d’entreprise, ou les héberger publiquement sur un serveur Web.
Une fois que vous avez correctement configuré votre serveur et partagé l’adresse Web de vos fichiers KML, toute personne ayant installée Google Earth (ou une autre application compatible) peut afficher les fichiers KML que vous créez.

Vous pouvez utiliser le KML pour ajouter vos propres repères, géométries, annotations et images sur l’image de base de Google Earth. Si vous hébergez les fichiers KML sur un serveur, vous pouvez même mettre à jour votre présentation sur le système de l’utilisateur à intervalles réguliers ou chaque fois que vos données changent. Les fichiers hébergés publiquement sont indexés par les moteurs de recherche Web pour un accès facile par tous les utilisateurs du Web.

Personnaliser vos présentations KML c’est facile, grâce à l’utilisation de styles personnalisés pour les icônes, les ballons d’information, les couleurs, les lignes, les formes et les étiquettes. KML vous permet d’afficher vos éléments en suivant des plages de temps spécifiques et de modifier l’affichage en fonction du niveau de zoom de l’utilisateur, avec des niveaux croissants de détails montrés à mesure que l’utilisateur se rapproche du sol.

Le KML 2.2 prend en charge la présentation des données astronomiques et terrestres. Lorsque vous incluez un indice spécial (hint= »target=sky ») au début d’un fichier KML, le navigateur interprète les données d’une manière différente et la projette sur une sphère céleste virtuelle qui entoure la Terre. En mode Ciel (Sky), la caméra Google Earth regarde vers le ciel plutôt que vers le bas sur Terre. La principale différence pour celui qui crée le KML est qu’il doit effectuer quelques calculs arithmétiques pour convertir les coordonnées astronomiques (ascension et déclinaison droite) en coordonnées terrestres (longitude et latitude). Tout le reste dans le KML fonctionne de la même façon dans les modes Ciel (Sky) et Terre(Earth).

Pour voir les exemples de cet article dans Google Earth, téléchargez  et installez Google Earth. Vous pouvez obtenir une copie gratuite de Google Earth sur le site http://earth.google.com de Google.

Les affichages dans cette série d’articles sont réalisés avec un plugin Google Maps. Ils ne permettent pas l’utilisation de toutes les fonctionnalités de Google Earth.

Votre premier KML

Voici un premier kml pour démarrer.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>Bonjour la Terre</name>
<description>Voici où est développé Google Earth!</description>
<Point>
<coordinates>-122.084583,37.42227,0</coordinates>
</Point>
</Placemark>
</kml>

Et voici ce que ça donne quand il est chargé dans Google Maps ou Google Earth

[flexiblemap src= »http://www.nasca.ovh/downloads/kml/bonjour.kml » width= »100% » zoom= »12″ maptype= »satellite »]

Cliquez sur l’icône, vous verrez apparaître le ballon correspondant avec le texte défini dans le fichier KML.

Pour commencer à prendre en main le langage KML vous pouvez entrer cet exemple de texte dans n’importe quel éditeur de texte de base (le Bloc-notes fera l’affaire).
Enregistrez le fichier avec une extension .kml et ouvrez le fichier dans Google Earth sur votre ordinateur. Une fois que vous avez enregistré le fichier de cette manière, vous pouvez également l’éditer. Par exemple, essayez de changer le , enregistrez le fichier à nouveau, puis ouvrez-le dans Google Earth. Ensuite, essayez de modifier les valeurs pour l’élément <coordonnées>, enregistrez le fichier et regardez où le nouveau repère s’affiche.
La meilleure façon d’apprendre le KML consiste à expérimenter à partir d’exemples de fichiers, à modifier les valeurs et à afficher les résultats dans votre navigateur. Si vous faites une erreur, vous ne verrez peut-être rien dans le navigateur, mais c’est la preuve qu’il y a une erreur dans votre fichier.

Google Earth fournit une fonctionnalité pour le contrôle des erreurs: Sélectionnez Options> Général, et sous la rubrique Gestion des erreurs KML, sélectionnez Afficher les invites pour toutes les erreurs.

Vous pouvez également utiliser un validateur KML pour vérifier votre code KML. Par exemple, voir le validateur KML par Galdos Systems à l’adresse www.kmlvalidator.com.

exemple de validation d'un fichier kml

Structure d’un fichier KML

Chaque fichier KML commence par les deux lignes illustrées dans cet exemple.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
Si vous créez un fichier KML à partir de zéro, assurez-vous de copier ces deux lignes textuellement au début du fichier. Un fichier KML ne peut contenir qu’un seul élément < kml>. N’oubliez pas la balise </ kml> de fermeture à la fin du fichier.

Le fichier contient un élément qui a trois enfants. Les parenthèses <> indiquent les noms d’éléments KML:

BaliseContenu
<name>Étiquette pour le Placemark
<description>Texte (et images facultatives) fournissant des informations supplémentaires sur le repère. La apparaît dans la bule d'informations. Ce ballon apparaît lorsque l'utilisateur clique sur l'endroit
<Point>Contient l'élément <coordinates>. L'élément <coordinates> contient des valeurs pour la longitude, la latitude et l'altitude de <Placemark>.

Parce que KML est un format de données XML, il a une structure cohérente qui respecte certaines règles.

Un élément commence par son nom entre crochets (<Placemark>). Un élément se termine par le nom entre crochets précédé par une barre oblique (</ Placemark>). La valeur de l’élément est contenue entre ces deux balises.

Les éléments simples et les éléments complexes

En KML, tout mot contenu entre crochets (< >) est un élément.

Lorsqu’un nom d’élément commence par une lettre majuscule, il s’agit d’un élément complexe, ce qui signifie qu’il peut contenir d’autres éléments.

Par exemple, dans cet extrait de code, <Point> est un élément complexe qui contient l’élément <coordinates>:

<Point>
<coordinates> -122.084583,37.42227,0 </ coordinates>
</ Point>

Les noms des éléments simples commencent par une lettre minuscule. Les éléments simples ne peuvent contenir d’autres éléments.

Un élément simple ne contient que des données sous forme de caractères (en termes XML: lettres, chiffres et symboles qui ne sont pas utilisés à des fins de balisage XML). Dans l’exemple Bonjour.kml, <name>, <description>, et <coordinates> sont des exemples d’éléments simples.
Les éléments complexes sont également appelés parents parce qu’ils contiennent d’autres éléments. Les éléments simples s’appellent les enfants. Dans un fichier KML, les enfants sont en retrait de plusieurs espaces de la position de leur parent dans le fichier, mais cette convention est simplement pour la lisibilité. Les navigateurs ne font aucune distinction aux différents niveaux d’indentation.

Quelques règles à suivre scrupuleusement

Voici quelques règles générales à garder à l’esprit lors de la création de fichiers KML:

• La case est importante. Chaque nom d’élément doit être écrit exactement comme indiqué dans la Référence KML 2.2 en respectant les majuscukles et minuscules.
• L’ordre est significatif. Les éléments enfants KML doivent être listés dans le même ordre qu’indiqués dans la Référence KML 2.2. Vous pouvez omettre des éléments enfants, mais vous ne pouvez pas les réorganiser.
• Les éléments enfants ne peuvent appartenir qu’aux éléments parent autorisés. Vous devez suivre la syntaxe individuelle de la Référence KML 2.2.

Et la cerise sur le gateau…

 Le copier-coller de Google Earth

Lors de l’affichage d’un fichier KML dans Google Earth, vous pouvez facilement copier la fonctionnalité de Google Earth et la coller dans un éditeur de texte tel que NotePad.

C’est quelque peu contre-intuitif que vous puissiez copier une caractéristique graphique de la visionneuse 3D de Google Earth et, lorsque vous la collez dans un éditeur de texte,qu’elle soit convertie dans son format textuel KML correspondant, mais essayez! ça fonctionne!

Suivez les étapes suivantes  pour voir le code KML d’une fonctionnalité  telle qu’une marque de repère, GroundOverlay (image posée sur le terrain terrestre de base), Polygon (shape) ou LineString (chemin) dans Google Earth.

1. Dans le visualiseur 3D (ou le panneau Lieux) de Google Earth, placez votre curseur sur la fonctionnalité pour la mettre en surbrillance.
2. Cliquez avec le bouton droit de la souris et sélectionnez Copier dans le menu déroulant qui apparaît.


3. Ouvrez un éditeur de texte et collez le contenu du presse-papiers.

Le code KML pour la fonction sélectionnée apparaît dans l’éditeur de texte. (Assurez-vous d’utiliser un éditeur de texte qui n’ajoute pas de formatage supplémentaire ou d’informations au fichier texte).
4. Enregistrez le fichier avec une extension .kml .

Dans le prochain article nous aborderons les deux balises phare du KML: <Placemark> et <description>.

Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

13 thoughts on “KML: pour bien commencer

  1. Bonjour, dans le premier exemple manque un > final. De plus les guillemets notamment sont remplacés par des guillemets typographiques et des espaces ajoutées. Vous pouvez utiliser une carte umap (http://umap.openstreetmap.org) pour tester sans installer de logiciel.
    Les autres exemples sont aussi « faux » pour les mêmes raisons (de présentation à la française).

    Bonjour la Terre
    Voici où est développé Google Earth!

    -122.084583,37.42227,0

    1. Désolé pour les guillemets typo. C’est un souci avec les plugins de wordpress que je contourne en les remplaçant par & quot; en mode texte de l’éditeur des articles. Problème, si on passe en mode visualisation, ça remplace automatiquement les & quot; par des guillemets à nouveau!
      J’ai corrigé l’article.

  2. bonjour
    je voudrais savoir si avec un éditeur de texte ou autre logiciel ilm était possible de copier et coller dans un autre fichier un théme choisie entre 2 balises et évidament c’est un fichier avec plus de 8000 thémes

  3. bonjour
    je voudrais savoir si avec un éditeur de texte ou autre logiciel il était possible de copier et coller dans un autre fichier un thème choisie entre 2 balises et c’est un fichier avec plus de 8000 thèmes

    1. Avec n’importe éditeur de texte permettant la sélection par ligne (ou même sans) il est possible de faire un copier coller : le KML est un XML donc un fichier texte.

      1. bonjour
        oui je sais j’utilise notepad + je voudrai sélectionner une référence parmi d’autre entre les balises placemark, c’est à dire sélectionner des positions qui on une particularité pour les classer par thème
        merci pour la raiponce

  4. Bonjour,
    J’aurais aimé savoir quelles la syntaxe pour les coordonnées d’une balise .
    La liste de ces coordonnées utilise-t-elle le séparateur espace ou line feed ? (les deux fonctionnent mais quelle est celle qui est préférable ?)

    5.566592,45.660735
    5.568327,45.660870
    5.570448,45.660870

    ou
    5.566592,45.660735 5.568327,45.660870 5.570448,45.660870

  5. Merci pour la réponse. J’ai constaté aussi que l’altitude peut figurer ou non dans une même liste de cordonnées :
    5.566592,45.660735
    5.568327,45.660870,123
    5.570448,45.660870

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *