Format KML de Google Earth

KML: Format XML de Google-Earth pour définir des objets graphiques comme par exemple des signets...
Applications qui comprennent le KML: Google Earth, Google Maps (coller l'URL du flux KML directement dans la case Recherche Google Maps), Google Maps for mobile, NASA WorldWind, ESRI ArcGIS Explorer, Adobe PhotoShop, AutoCAD, Yahoo! Pipes,...

types MIME :

Tutoriel en anglais: http://earth.google.com/kml/kml_intro.html

Astuce: clic droit/copier sur un signet (ou autre objet GE comme document, couche graphique, lien réseau, dossier). Faire coller dans un éditeur de texte pour récupérer la syntaxe KML générée par GE.

Avant de tester un fichier KML régler dans les options / onglet "Général" d'afficher un message d'erreur pour chaque problème.

Importer des points

  1. Sauvegarder un répertoire au format kmz = fichier kml zippé
  2. Renommer le fichier kml et éditer son contenu pour insérer les valeurs souhaitées
  3. Ouvrir le fichier kml édité depuis Google Earth
Voici un exemple de fichier KML

<kml xmlns="http://earth.google.com/kml/2.0">
<Placemark>
<name>mon icone</name>
<description>s'affiche par clic sur l'icone</description>
<Point>
<coordinates>5.998539267389456,43.13819261930326</coordinates>
</Point>
</Placemark>
</kml>

Structure d'un fichier KML

Document (name?,description?,Style*,Placemark*,Folder*)
Folder (description?,name,Placemark+)
Placemark (description?,name,LookAt?,styleUrl?,Point|LineString|Polygon)
Point (coordinates)
LookAt (longitude,latitude,range,tilt,heading)


Range: zoom= altitude de la vue. Tilt= inclinaison. 0° mode plan, 90° vue horizontale. 60°: sympa.
Heading: azimuth. 90°: plein est

Juste au dessous de l'élément racine <kml> on peut aussi avoir directement l'élément "Placemark". A l'inverse on peut avoir un premier niveau "Document".

Voir le schéma XSD de KML pour plus de détails.

Objets de base de Google-Earth

XMLDescriptionOpacitéTour
Documenticône de Google Earth (My Places, Temporary places, ..)OuiOui
FolderdossierNonOui
PlacemarksignetNonCochés
NetworkLinkLien réseauSelon type lienSelon type lien
OverlayCouche graphiqueOuiIdem signet
LineStringLigne briséeNonOui
PolygonPolygoneOuiIdem signet

Pour un élément "Point" seul contenu nécessaire:
<coordinates>5.252779167733749,43.53229253176966,0</coordinates>
Longitude, latitude, altitude depuis le sol.

tracés et polygones

LineString(extrude?,tessellate?,altitudeMode?,coordinates)

Polygon(extrude?,tessellate?,altitudeMode?,outerBoundaryIs,innerBoundaryIs*)
outerBoundaryIs(LinearRing)
LinearRing(coordinates)
altitudeMode ((#PCDATA=relativeToGround|absolute)

Pour un polygone ou un trajet (LineString) on sépare les triplets au sein de l'élément "coordinates" par un retour à la ligne ou un espace (sans virgule).

tessellate: les linéaires suivent le relief du sol (seulement possible via édition KML)
extrude: prolonger par des faces verticales (altitudeMode doit être défini)

Si altitudeMode n'est pas renseigné, les coordonnées d'altitude sont ignorées et les points de la forme sont plaqués au sol.

NetworkLink

<NetworkLink>
	<name>Evènements Datex</name>
	<open>1</open>
	<Link>
		<href>http://util.podico.com/xml/evaf-kml.php</href>
		<refreshMode>onInterval</refreshMode>
		<refreshInterval>360</refreshInterval>
	</Link>
</NetworkLink>

Insertion de HTML dans une description

<description><![CDATA[<a href="http://www.google.com/">mon lien</a>]]></description>

Styles

Les styles partagés doivent être déclarés sous la balise "document". Pour les couleurs l'ordre RVB usuel est renversé et le premier octet code l'opacité (alpha) (OOBBGGRR). Mieux vaut trop que pas assez: on peut toujours réduire l'opacité avec le curseur au bas de la zone "lieux".
<Style id="ligneJaunePolyVert">   (au sein de "Document")
	<LineStyle><color>7f00ffff</color><width>4</width></LineStyle> 
	<PolyStyle><color>7f00ff00</color></PolyStyle>    
</Style>

<styleUrl>#ligneJaunePolyVert</styleUrl> (au sein de "Placemark")

Icônes

Pour changer l'icône par défaut d'un signet on utilise aussi les styles.
<Style id="travaux"><IconStyle><Icon>
        <href>http://localhost/sdir/visu/icones/travaux.gif</href>
</Icon></IconStyle></Style>

On peut aussi utiliser des icônes incluses dans le logiciel: root://icons/palette-4.png par exemple voir dans le dossier C:\Program Files\Google\Google Earth\res

<href>root://icons/palette-4.png</href><x>64</x><y>128</y>
Il faut partir d'en bas à gauche (x=0,y=0) et multiplier le décalage par 32. Exemple pour palette-4.png le 4ème élément de la 3ème ligne (neige): x=3x32=96, y=2x32=64

Archive KMZ

Une archive KMZ est un ZIP qui contient un unique fichier KML (nom indifférent, par ex: doc.xml). Il peut aussi contenir des images JPG, PNG et autres ressources mp3, htm.. (qu'on peut classer par sous dossier). Utiliser des url relatives dans le code kml, les fichiers kmz sont traités comme des répertoires.