Décembre 2010
Objectif
Ce tutoriel vous présente quelques nouveaux éléments KML introduits avec Google Earth 6.0 et explique comment les utiliser pour créer une cartographie complexe pour vos LineStyles. Les éléments que vous allez découvrir sont <gx:physicalWidth>, <gx:outerColor>, <gx:outerWidth> et <gx:drawOrder>.
Introduction
Avant la sortie de Google Earth 6.0, vous ne pouviez pas définir de styles cartographiques complexes pour les LineStrings. Par exemple, si vous souhaitez créer un style pour une route, où le centre de la LineString a une couleur différente de celle des bords, vous devez dessiner deux LineString distinctes avec des largeurs différentes. Même dans ce cas, vous ne pouvez pas garantir l'ordre dans lequel elles seront dessinées.
Les exemples suivants vous guident dans la création d'une route. La route aura d'abord un style simple. Vous ajouterez ensuite un trottoir. Enfin, vous ajouterez un pont autoroutier.
Route de base
Le premier élément qui nous intéresse est <gx:physicalWidth>, qui vous permet de définir la largeur d'une LineString en mètres plutôt qu'en pixels. Dans le cas de notre exemple de route, cela signifie que vous pouvez définir la largeur de notre route pour qu'elle corresponde aux images sous-jacentes, quelle que soit l'altitude à partir de laquelle l'utilisateur final la regarde. À mesure que vous gagnez en altitude, la route diminue en pixels, ce qui crée un effet où vous ne pouvez voir la LineString que lorsque vous effectuez un zoom avant. Cela peut être utile si vous ne souhaitez pas mettre en avant les petites routes de loin ou si vous voulez vous assurer que votre cartographie correspond aux images satellite à tout moment.
<?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>Road Styling</name> <Style id="street"> <LineStyle> <color>ff235523</color> <gx:physicalWidth>12</gx:physicalWidth> </LineStyle> </Style> <Placemark> <styleUrl>#street</styleUrl> <LineString> <coordinates> -122.2442883478408,37.4347536724074,0 -122.2417741446485,37.43594997501623,0 -122.2414951359056,37.43611878445952,0 </coordinates> </LineString> </Placemark> </Document> </kml>
Lorsque vous modifiez l'altitude de la caméra dans Google Earth, notez qu'elle correspond toujours à la largeur des images sous-jacentes.
Ajouter des trottoirs
Vous pouvez maintenant ajouter les éléments <gx:outerColor> et <gx:outerWidth> en ajoutant une couleur vert clair aux bords de la route pour indiquer les trottoirs. Définissez 25 % du nombre total de pixels de la route sur gris clair.
<?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>Road Styling</name> <Style id="street_sidewalk"> <LineStyle> <color>ff235523</color> <gx:physicalWidth>12</gx:physicalWidth> <gx:outerColor>ff55ff55</gx:outerColor> <gx:outerWidth>0.25</gx:outerWidth> </LineStyle> </Style> <Placemark> <styleUrl>#street_sidewalk</styleUrl> <LineString> <coordinates> -122.2442883478408,37.4347536724074,0 -122.2417741446485,37.43594997501623,0 -122.2414951359056,37.43611878445952,0 </coordinates> </LineString> </Placemark> </Document> </kml>
Comme la largeur de la route a été définie sur 12 mètres, la valeur de 0,25 pour outerWidth signifie que 3 mètres de cette largeur seront définis sur un vert plus clair (environ 1,5 mètre de chaque côté de la route).
Un échangeur autoroutier
Maintenant que vous avez une route de base, il est temps de s'attaquer à un échangeur autoroutier. Il sera de couleur orange clair avec une ligne médiane orange foncé. L'ajout clé ici est d'inclure un <gx:drawOrder> de 1 (la valeur par défaut est 0) dans le <LineSring> pour s'assurer que l'autoroute sera affichée au-dessus de la route. Si vous construisez un échangeur autoroutier plus complexe (ou toute cartographie nécessitant plus de deux LineStrings qui se chevauchent), vous pouvez simplement ajouter une valeur plus élevée à <gx:drawOrder> pour celui que vous souhaitez afficher en haut.
<?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>Road Styling</name> <Style id="street_sidewalk"> <LineStyle> <color>ff235523</color> <gx:physicalWidth>10</gx:physicalWidth> <gx:outerColor>ff55ff55</gx:outerColor> <gx:outerWidth>0.25</gx:outerWidth> </LineStyle> </Style> <Style id="highway"> <LineStyle> <color>cc1447ff</color> <gx:physicalWidth>20</gx:physicalWidth> <gx:outerColor>cc1473ff</gx:outerColor> <gx:outerWidth>0.75</gx:outerWidth> </LineStyle> </Style> <Placemark> <styleUrl>#street_sidewalk</styleUrl> <LineString> <coordinates> -122.2442883478408,37.4347536724074,0 -122.2417741446485,37.43594997501623,0 -122.2414951359056,37.43611878445952,0 </coordinates> </LineString> </Placemark> <Placemark> <styleUrl>#highway</styleUrl> <LineString> <gx:drawOrder>1</gx:drawOrder> <coordinates> -122.2442692500139,37.43634904345254,0 -122.2415928723012,37.43416417520744,0 </coordinates> </LineString> </Placemark> </Document> </kml>
Étape suivante
La possibilité de décrire une seule LineString avec plusieurs couleurs, combinée au contrôle de l'ordre de rendu, vous permet de créer une cartographie de lignes complexes qui n'était pas possible auparavant. Que vous construisiez un pont autoroutier ou un projet artistique abstrait, amusez-vous avec ces règles de style !