samedi 8 février 2014

Réaliser manuellement une visite Google Earth

Ceci est une suite au précédent article. Voici un moyen de réaliser une visite comportant plusieurs points de cheminement. Au fil de la visite, on saute de point en point. A chaque point de cheminement, on fait une pause, au cours de laquelle une bulle est ouverte pendant un laps de temps puis refermée. Dans la bulle, on affiche un commentaire textuel et une image. Juste avant l'ouverture de chaque bulle, un commentaire audio est lancé.
On peut inclure un nombre quelconque de points de cheminement.
Le principe est d'écrire un fichier KML contenant l'ensemble des paramètres de la visite.

Conventions :
ID de chaque point "Reperex" (exemple Repere1),
nom de fichier-image de chaque point "imagex.jpg" (exemple image1.jpg),
nom du fichier sonore de chaque point "sonx.mp3" (exemple son1.mp3).

Le code de base est la succession des 5 parties suivantes qu'on modifiera selon les besoins.
**************************************************
Partie 1

<?xml version="1.0" encoding="UTF-8"?>
<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">
<Document>
    <name>Nom_de_la_balade</name>
    <open>1</open>


    <Style id="s_epingle">
        <IconStyle>
            <scale>1.2</scale>
            <Icon>
                <href>http://maps.google.com/mapfiles/kml/shapes/placemark_circle.png</href>
            </Icon>
        </IconStyle>
        <ListStyle>
        </ListStyle>
    </Style>


    <Style id="s_epingle_hl">
        <IconStyle>
            <scale>1.2</scale>
            <Icon>
                <href>http://maps.google.com/mapfiles/kml/shapes/placemark_circle_highlight.png</href>
            </Icon>
        </IconStyle>
        <ListStyle>
        </ListStyle>
    </Style>


    <StyleMap id="m_epingle">
        <Pair>
            <key>normal</key>
            <styleUrl>#s_epingle</styleUrl>
        </Pair>
        <Pair>
            <key>highlight</key>
            <styleUrl>#s_epingle_hl0</styleUrl>
        </Pair>
    </StyleMap>



    <Folder>
        <name>Details</name>
        <open>1</open>

**************************************************
Partie 2

<Placemark id="Repere1">
            <name>1</name>
            <open>1</open>
            <description>

Commentaire dans la bulle
<![CDATA[<img src="image1.jpg"/>]]></description>
            <LookAt>
                <longitude>6.1027</longitude>
                <latitude>43.028</latitude>
                <altitude>0</altitude>
                <heading>0</heading>
                <tilt>0</tilt>
                <range>20000</range>
                <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
            </LookAt>
            <styleUrl>#m_epingle</styleUrl>
            <Point>
                <gx:drawOrder>1</gx:drawOrder>
                <coordinates>6.1027,43.028,0</coordinates>
            </Point>
        </Placemark>

**************************************************




Partie 3

<gx:Tour>
            <name>Double-cliquer ici pour la visite</name>
            <gx:Playlist>
                <gx:AnimatedUpdate>
                    <Update>
                        <targetHref></targetHref>
                        <Change>
                        <Placemark targetId="Repere1">
                        <gx:balloonVisibility>0</gx:balloonVisibility>
                        </Placemark></Change>
                    </Update>
                </gx:AnimatedUpdate>

***************************************************
Partie 4

                                <gx:Wait><gx:duration>2</gx:duration>
</gx:Wait>
                <gx:SoundCue>
                    <href>son1.mp3</href>
                </gx:SoundCue>


                <gx:FlyTo>
                    <gx:duration>15</gx:duration>
                    <gx:flyToMode>smooth</gx:flyToMode>
                    <LookAt>
                        <gx:horizFov>59.99999999999999</gx:horizFov>
                        <longitude>6.1027</longitude>
                        <latitude>43.028</latitude>
                        <altitude>0</altitude>
                        <heading>0</heading>
                        <tilt>0</tilt>
                        <range>1000</range>
                        <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode>
                    </LookAt>
                </gx:FlyTo>
                <gx:AnimatedUpdate>
                    <Update>
                        <targetHref></targetHref>
                        <Change>
                        <Placemark targetId="Repere1">
                        <gx:balloonVisibility>1</gx:balloonVisibility>
                        </Placemark>
                        </Change>
                    </Update>

                </gx:AnimatedUpdate>

                <gx:Wait><gx:duration>4</gx:duration>
</gx:Wait>
                <gx:AnimatedUpdate>
                    <Update>
                        <targetHref></targetHref>
                        <Change>
                        <Placemark targetId="Repere1">
                        <gx:balloonVisibility>0</gx:balloonVisibility>
                        </Placemark>
                        </Change>
                    </Update>
                </gx:AnimatedUpdate>

**************************************************
Partie 5

</gx:Playlist>
        </gx:Tour>
    </Folder>
</Document>
</kml>

******************************************* *******

A chaque point de cheminement supplémentaire, il faudra ajouter les parties 2 et 4 modifiées.
Le code final est enregistré au format texte dans un fichier suffixé .kml (exemple doc.kml).
Tous les fichiers :
image1.jpg, image2.jpg, image3.jpg ...
son1.mp3, son2.mp3, son3.mp3 ...
le fichier kml (doc.kml)...
sont enregistrés dans un dossier unique (exemple : MaVisite).

On ouvre alors le fichier KML dans Google Earth.
On vérifie que la visite se déroule de manière satisfaisante.

Il suffit alors d'enregistrer le lieu sous un fichier de format KMZ (exemple MaVisite.kmz).

Ce fichier KMZ (= archive zippée) peut être transmise à un autre utilisateur qui l'ouvrira dans Google Earth.



Aucun commentaire: