KML : (3) Définir un point de vue

Lorsque l’utilisateur double-clique sur un repère, Google Earth automatiquement zoome la vue directement sur le marqueur. Vous pouvez contrôler la vue initiale du marqueur en spécifiant un élément <LookAt> qui définit le point de vue exact du point d’intérêt. Nous décrirons ici comment spécifier un élément de type <LookAt> pour un repère.
Une fois que vous avez créé un ensemble de repères, vous pouvez voler successivement de l’un à l’autre.
parametres de la balise lookat de kml

Spécification d’un point de vue

L’élément <LookAt> décrit un point de vue en utilisant un point sur la surface de la Terre comme référence. Voici la syntaxe de cet élément:

<LookAt id= »ID »>
<longitude>0.0</longitude>
<latitude>0.0</latitude>
<altitude>0.0</altitude>
<heading>0.0</heading>
<tilt>0.0</tilt>
<range>0.0</range>
<altitudeMode>clampToGround</altitudeMode>
</LookAt>

Les éléments enfants pour <LookAt> sont les suivants:

  • <longitude> : La longitude du point observé. C’est la distance angulaire en degrés par rapport au Meridien de référence (en principe Greenwich). Les valeurs à l’ouest du Meridien vont de -180 degrés à 0 degrés. Les valeurs à l’est du Meridien vont de 0 degrés à 180 degrés.
  • <latitude> :Latitude du point observé. Degrés au Nord ou au Sud de l’équateur (0 degrés). Les valeurs varient de -90 degrés à 90 degrés.
  • <altitude> :Distance de la surface de la Terre, en mètres. Voir <altitudeMode> pour savoir comment cette valeur est interprétée.
  • <heading> :Direction (c’est-à-dire Nord, Sud, Est, Ouest), en degrés. Par défaut = 0 (Nord). Les valeurs varient de 0 degrés à 360 degrés, avec 90 degrés = Est, 180 degrés = Sud, 270 degrés = Ouest. Cette valeur peut également être spécifiée en degrés négatifs (dans le sens inverse des aiguilles d’une montre de 0).
  • <tilt> :Angle entre la direction du point de vue et la surface de la Terre (voir Figure). Les valeurs varient de 0 degrés à 180 degrés. Les valeurs ne peuvent pas être négatives. Une valeur de 0 degrés indique l’observation à partir d’un point perpendiculaire à la localisation, en regardant vers le bas. Une valeur de 90 degrés indique l’observation horizontale, droit vers l’horizon.
  • <range> :Distance en mètres entre le point spécifié par <longitude>, <latitude>, et <altitude>, et la position du point de vue.
  • <altitudeMode> :Spécifie comment l’altitude définie pour le point (valeur de <altitude>)est interprétée. Les valeurs possibles sont les suivantes:
    • ClampToGround (par défaut): Indique d’ignorer la spécification de <altitude> et place la position de <LookAt> directement sur le sol.
    • RelativeToGround :Interprète <altitude> comme une valeur en mètres au-dessus du sol.
    • absolute :Interprète <altitude> comme une valeur en mètres au-dessus du niveau de la mer.

La manière la plus simple de créer un élément avec les valeurs souhaitées est d’utiliser le copier-coller décrit dans l’article précédent.

la fonctionnalité SnapShot de Google Earth.  Volez, inclinez ou faites pivoter l’affichage jusqu’à ce que vous soyez satisfait de la vue. Cliquez avec le bouton droit de la souris sur le repère et sélectionnez Copier. Ouvrez un éditeur de texte et faites un Coller.

Dans l’exemple suivant (http://www.nasca.ovh/downloads/kml/lookat1.kml)

Le résultat du Copier-coller est le suivant:

<kml xmlns= »http://www.opengis.net/kml/2.2″ xmlns:gx= »http://www.google.com/kml/ext/2.2″ xmlns:kml= »http://www.opengis.net/kml/2.2″ xmlns:atom= »http://www.w3.org/2005/Atom »>
<Placemark>
<name>Visite du 16 juin 2017</name>
<description><![CDATA[<p>Après vérification des capteurs mis en place, nous avons procédé à l’échantillonnage</p>
<p>Les échantillons ont été marqués et emballés sur place</p>]]></description>
<LookAt>
<longitude>-4.964173334596812</longitude>
<latitude>48.39543755926342</latitude>
<altitude>0</altitude>
<heading>8.905506807657265</heading>
<tilt>79.30646922221436</tilt>
<range>1174.810688535466</range>
<gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
</LookAt>
<Point>
<coordinates>-4.964,48.392,0</coordinates>
</Point>
</Placemark>
</kml>

L’élément <LookAt> doit être placé immédiatement après la balise </description>.

Groupement de repères : la balise <Folder>

Utilisez un élément <Folder> pour grouper plusieurs repères. Un <Folder>, comme un <Placemark>, a les éléments <name> et <description>, qui apparaissent dans la vue des lieux. Dans Google Earth, vous pouvez visiter les différents repères dans un dossier en cliquant sur le dossier et en sélectionnant le bouton Lancer la visite dans liste des lieux

lancer la visite dans google earth

Si vous spécifiez des points de vue pour les repères, Google Earth passe automatiquement au point de vue spécifié pour chaque repère.

Le fichier http://www.nasca.ovh/downloads/kml/lookat.kml affiche un <Folder> qui contient trois éléments <Placemark>, chacun avec un point de vue spécifié par un élément <LookAt>.

lookat.kml
<kml xmlns= »http://www.opengis.net/kml/2.2″ xmlns:gx= »http://www.google.com/kml/ext/2.2″ xmlns:kml= »http://www.opengis.net/kml/2.2″ xmlns:atom= »http://www.w3.org/2005/Atom »>
<Folder>
<name>Vol vers des repères</name>
<open>1</open>
<Placemark id= »1″>
<name>Visite du 16 juin 2017</name>
<description><![CDATA[<p>Après vérification des capteurs mis en place, nous avons procédé à l’échantillonnage</p>
<p>Les échantillons ont été marqués et emballés sur place</p>]]></description>
<LookAt>
<longitude>-4.964173334596812</longitude>
<latitude>48.39543755926342</latitude>
<altitude>0</altitude>
<heading>8.905506807657265</heading>
<tilt>79.30646922221436</tilt>
<range>1174.810688535466</range>
<gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
</LookAt>
<Point>
<coordinates>-4.964,48.392,0</coordinates>
</Point>
</Placemark>
<Placemark id= »2″>
<name>Visite du 17 juin 2017</name>
<description>
<![CDATA[
<p>Après vérification des capteurs mis en place, nous n’avons pas procédé à l’échantillonnage</p>
]]>
</description>
<LookAt>
<longitude>-4.964027085363179</longitude>
<latitude>48.39848639649534</latitude>
<altitude>0</altitude>
<heading>112.6147092667253</heading>
<tilt>43.68158406433638</tilt>
<range>1308.593420201757</range>
<gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
</LookAt>
<Point>
<coordinates>-4.96559,48.40013,0</coordinates>
</Point>
</Placemark>
<Placemark id= »3″>
<name>Visite du 18 juin 2017</name>
<description>
<![CDATA[
<p>Après vérification des capteurs mis en place, nous avons procédé à l’échantillonnage</p>
<p>Les échantillons ont été marqués et emballés sur place</p>
]]>
</description>
<LookAt>
<longitude>-4.95766406933723</longitude>
<latitude>48.40344387516042</latitude>
<altitude>0</altitude>
<heading>-116.414218265003</heading>
<tilt>57.02348249571338</tilt>
<range>701.6067609970371</range>
<gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
</LookAt>
<Point>
<coordinates>-4.95670,48.40211,0</coordinates>
</Point>
</Placemark>
</Folder>
</kml>

Si vous utilisez le bouton Lancer la visite, vous verrez successivement chaque repère à partir du point de vue défini dans le fichier kml pendant quelques secondes, puis la vue se déplacera au prochain point de vue, et ce jusqu’au dernier repère.

Les temps par défaut sont paramétrés dans le menu Outils -> Options -> Visite

Voici le résultat de la visite du fichier lookat.kml

Laisser un commentaire

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