10.1. Lesson: Web Mapping Services

Un Web Mapping Service (WMS, qui signifie Service de cartographie web en anglais) est un service hébergé sur un serveur distant. Semblable à un site web, vous pouvez y accéder tant que vous avez une connexion au serveur. En utilisant QIGS, vous pouvez charger un répertoire WMS directement dans votre carte existante.

Vous devez vous souvenir de la leçon sur les extensions qu’il est possible de charger une nouvelle image raster depuis Google, par exemple. Cependant, il s’agit d’une transaction ponctuelle : une fois que vous avez téléchargé l’image, elle ne change pas. Un WMS est différent dans le fait que c’est un service en direct qui actualisera automatiquement sa vue si vous déplacez ou zoomez sur la carte.

Objectif de cette leçon : Utiliser un WMS et comprendre ses limites.

10.1.1. basic Follow Along: Chargement d’une Couche WMS

For this exercise, you can either use the basic map you made at the start of the course, or just start a new map and load some existing layers into it. For this example, we used a new map and loaded the original places, landuse and protected_areas layers and adjusted the symbology:

../../../_images/new_map.png
  1. Chargez ces couches dans une nouvelle carte, ou utilisez votre carte d’origine avec seulement ces couches visibles.

  2. Avant de commencer à ajouter la couche WMS, désactivez la projection « à la volée » (Projet ► Propriétés… ► SCR, cochez Aucun SCR (ou projection inconnue ou non-terrestre). Cela peut faire en sorte que les couches ne se chevauchent plus correctement, mais ne vous inquiétez pas : nous corrigerons cela plus tard.

  3. Pour ajouter des couches WMS, cliquez sur le bouton dataSourceManager pour ouvrir la boîte de dialogue Gestionnaire source donnees et activer l’onglet addWmsLayer WMS/WMTS.

    ../../../_images/datasourcemanager_wms.png

    Rappelez-vous comment vous vous êtes connecté à une base de données SpatiaLite ou GeoPackage au début du cours. Les couches landuse, buildings, et roads sont stockées dans une base de données. Pour utiliser ces couches, vous devez d’abord vous connecter à la base de données. L’utilisation d’un WMS est similaire, à l’exception du fait que les couches se trouvent sur un serveur distant.

  4. Pour créer une nouvelle connexion à un WMS, cliquez sur le bouton Nouveau.

    Vous aurez besoin d’une adresse WMS pour continuer. Il existe plusieurs serveurs WMS gratuits sur Internet. L’un d’entre eux est terrestris, qui utilise l’ensemble de données OpenStreetMap.

  5. Pour utiliser ce WMS, configurez-le dans votre boîte de dialogue actuelle, comme ceci :

    ../../../_images/new_wms_connection.png
    • La valeur du champ nom doit être terrestris.

    • La valeur du champ URL doit être https://ows.terrestris.de/osm/service.

  6. Cliquez sur OK. Vous devriez voir le nouveau serveur WMS listé :

    ../../../_images/new_connection_listed.png
  7. Cliquez sur Connecter. Dans la liste d’en-dessous, vous devriez maintenant voir ces nouvelles entrées chargées :

    ../../../_images/new_wms_entries.png

    Il y a toutes les couches hébergées par ce serveur WMS.

  8. Click once on the OSM-WMS layer. This will display the default Coordinate Reference System in use and the number of CRSes supported by the dataset:

    ../../../_images/osm_wms_selected.png

    Since we’re not using EPSG:4326 - WGS 84 for our map, let’s find one that meets our needs.

    1. Click the setProjectionSelect CRS button. You will see a standard Coordinate Reference System Selector dialog showing all the CRS the data is published with.

    2. We want a projected CRS, so let’s choose WGS 84 / Pseudo-Mercator with EPSG:3857. You can use the top search Filter widget.

      ../../../_images/pseudo_mercator_selected.png
      1. Cliquez sur OK. Le système de référence des coordonnées associé à l’entrée a changé.

  9. Click Add to load the layer in your project using Layer name` (default is OpenStreetMap WMS - by terrestris).

  10. Fermez le dialogue gestionnaire de source de donnees si ce n’est pas fait automatiquement

  11. Dans le panneau couche, cliquez et faites-le glisser jusqu’au bas de la liste.

  12. Faites un zoom arrière pour obtenir une vue globale des couches. Vous remarquerez que vos couches ne sont pas situées correctement (près de l’ouest de l’Afrique). Cela est dû au fait que la projection « à la volée » est désactivée.

    ../../../_images/reprojection_off.png
  13. Activons à nouveau la reprojection, mais en utilisant la même projection que la couche OpenStreetMap WMS, qui est WGS 84 / Pseudo Mercator.

    1. Ouvrez la Projet ► Propriétés… ► onglet SCR

    2. Décochez Aucun SCR (ou projection inconnue ou non-terrestre).

    3. Choisissez WGS 84 / Pseudo Mercator dans la liste.

      ../../../_images/enable_projection.png
    4. Cliquez sur OK.

  14. Now right-click on one of your own layers in the Layers panel and click Zoom to layer(s). You should see the Swellendam area:

    ../../../_images/wms_result.png

Remarquez comme les rues de la couches WMS et vos propres rues se superposent. C’est bon signe !

La nature et les limtes du WMS

Vous devriez maintenant avoir remarqué que cette couche WMS contient actuellement beaucoup d’entités. Il y a les rues, rivières, réserves naturelles, et caetera. Qui plus est, même si elle ressemble à quelque chose composé de vecteurs, elle semble être un raster, mais vous ne pouvez pas changer sa symbologie. Pourquoi donc ?

C’est comme cela que fonctionne un WMS : c’est une carte, semblable à une carte normale en papier, que vous recevez comme une image. Ce qui se passe habituellement est que vous avez des couches vectorielles, que QGIS affiche comme une carte. Mais en utilisant un WMS, ces couches vectorielles sont sur un serveur WMS, qui les affiche comme une carte et vous envoie cette carte en tant qu’image. QGIS peut afficher cette image, mais ne peut pas changer sa symbologie, car tout est géré sur le serveur.

Cela a plusieurs avantages, parce que vous n’avez pas besoin de vous inquiétez de la symbologie. Cela est déjà réglé, et devrait être agréable à voir sur les WMS conçus avec compétence.

D’un autre côté, vous ne pouvez pas changer la symbologie si vous ne l’aimez pas, et si des choses sont modifiées sur le serveur WMS, alors elles changeront également dans votre carte. C’est pourquoi vous voudrez parfois utiliser un Web Feature Service (WFS) à la place, qui vous donne des couches vectorielles séparément, et pas dans le cadre d’une carte de style WMS.

This will be covered in the next lesson, however. First, let’s add another WMS layer.

10.1.2. basic Try Yourself

  1. Add the eAtlas WMS server at this URL: https://maps.eatlas.org.au/maps/wms

  2. Load a World: Hillshading layer into the map.

  3. You might want to set its Encoding to JPEG and its Tile size option to 200 by 200, so that it loads faster.

  4. Your map should look like this (you may need to re-order the layers, and apply some transparency):

    ../../../_images/world_hillshading_result.png

10.1.3. hard Try Yourself

Une partie de la difficulté à utiliser le WMS est de trouver un bon serveur (libre).

  • Trouvez un nouveau WMS sur directory.spatineo.com (ou ailleurs en ligne). Il ne doit pas être assorti de frais ou de restrictions, et doit couvrir la zone d’étude Swellendam.

    Souvenez-vous que tout ce dont vous avez besoin pour utiliser un WMS est seulement son URL (et de préférence une sorte de description).

10.1.4. hard Try Yourself

  • Add the bluemarble layer from the MapServer Demonstration Server. Is that a suitable dataset for our study area?

10.1.5. In Conclusion

En utilisant un WMS, vous pouvez ajouter des cartes inactives comme toile de fond pour vos données de carte existantes.

10.1.6. Further Reading

10.1.7. What’s Next?

Maintenant que vous avez ajouté une carte inactive comme toile de fond, vous serez content d’apprendre qu’il est également possible d’ajouter des données (comme les autres couches vectorielles que vous avez ajoutées avant). Un ajout de données depuis les serveurs distants est possible en utilisant un Web Feature Service (WFS). C’est le sujet de la prochaine leçon.