Solutions des exercices sur le Webmapping

3.4. Création de tuiles

Exercice 1

Q: A quel niveau de zoom voit-on apparaître la ville de Sète ?

R: Z=9

Q: A quel niveau de zoom voit-on apparaître la gare de Sète ?

R: Z=16

Q: Au niveau de zoom Z=17, quelles sont les coordonnées "Google" de la tuile du Buffet de la Gare de Sète (avec le logo rouge du bar) ?

R: Google (X=66881, Y=47956) et TMS (X=66881, Y=83115)

Q: Avec Firefox, utilisez le modèle d'URL https://tile.openstreetmap.org/${z}/${x}/${y}.png pour ouvrir et télécharger sur votre ordinateur la tuile OSM ${z}/${x}/${y} = 16/33436/23982

R: L'URL est https://tile.openstreetmap.org/16/33436/23982.png (il s'agit de la tuile avec le Lazaret de Sète).

tuile OSM

3.5. Création de cartes avec Leaflet

Exercice 2

Q: Dans le code vu précédemment, que signifient {s}, {z}, {x} et {y} dans l'argument 1 ? Quel est le nom et le type de l'option passée dans l'argument 2 ?

R: Dans le motif d'URL, {s} désigne le sous-domaine. Par défaut, il peut prendre les valeurs a, b ou c. Chez beaucoup de fournisseurs, les tuiles sont dupliquées sur 3 serveurs, par exemple : a.fournisseur.org/, b.fournisseur.org/, c.fournisseur.org/.

{z} désigne le niveau de zoom demandé - {x} et {y}, la colonne et la ligne dans le système de coordonnée "à la Google".

Le 2nd argument est un objet qui regroupe les options. L'option attribution est de type String (remarque : elle est héritée de la classe Layer)

Exercice 3

Q: Vous allez ajouter dans le code JavaScript de la page tp_lazaret.html 2 lignes, pour afficher un marqueur à l'emplacement du Lazaret. Les coordonnées du Lazaret figure dans lat_lng_lazaret. Inspirez-vous des 2 lignes suivantes en les complétant.

R:

var marker = L.marker(lat_lng_sete);
marker.addTo(ma_carte).bindPopup("<strong>ANF SIST 2020</strong><br>Le Lazaret, Sète")

3.6. Les données vectorielles dans Leaflet

Exercice 4

Q: Quelle commande JavaScript permettrait de définir une nouvelle variable test_lat avec la latitude de la 3ème entité du fichier GeoJSON ?

R:

var test_lat = datageo.features[2].geometry.coordinates[1]
// test_lat = 43.61108