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. Before starting to add the WMS layer, deactivate « on the fly » projection (Project ‣ Properties… ‣ CRS tab, check No projection (or unknown/non-Earth projection). This may cause the layers to no longer overlap properly, but don’t worry: we’ll fix that later.

  3. To add WMS layers, click on the dataSourceManager button to open the Data Source Manager dialog and enable the addWmsLayer WMS/WMTS tab.

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

    Remember how you connected to a SpatiaLite or GeoPackage database at the beginning of the course. The landuse, buildings, and roads layers are stored in a database. To use those layers, you first needed to connect to the database. Using a WMS is similar, with the exception that the layers are on a remote server.

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

    You’ll need a WMS address to continue. There are several free WMS servers available on the Internet. One of these is terrestris, which makes use of the OpenStreetMap dataset.

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

    ../../../_images/new_wms_connection.png
    • The value of the Name field should be terrestris.

    • The value of the URL field should be 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. Cliquez une fois sur la couche OSM-WMS. Cela affichera son Système de Coordonnées de Références :

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

    Since we’re not using WGS 84 for our map, let’s see all the CRSs we have to choose from.

    1. Click the Change… button. You will see a standard Coordinate Reference System Selector dialog.

    2. Nous voulons un SCR projeté, donc choisissons WGS 84 / Pseudo Mercator.

      1. Enter the value pseudo in the Filter field:

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

        ../../../_images/pseudo_mercator_selected.png
      3. Click OK. The Coordinate Reference System associated with the entry has changed.

  9. Click Add and the new layer will appear in your map as OpenStreetMap WMS - by terrestris.

  10. Close the Data Source Manager dialog if not done automatically

  11. In the Layers panel, click and drag it to the bottom of the list.

  12. Zoom out in order to get a global view of the layers. You will notice that your layers aren’t located correctly (near west of Africa). This is because « on the fly » projection is disabled.

    ../../../_images/reprojection_off.png
  13. Let’s enable the reprojection again, but using the same projection as the OpenStreetMap WMS layer, which is WGS 84 / Pseudo Mercator.

    1. Open the Project ‣ Properties… ‣ CRS tab

    2. Uncheck No projection (or unknown/non-Earth projection)

    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 extent. 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 !

10.1.1.1. 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.

Mais cela sera abordé dans la prochaine leçon. Premièrement, ajoutons une autre couche WMS depuis le serveur WMS terrestris.

10.1.2. basic Try Yourself

  1. Hide the OSM-WSM layer in the Layers panel.

  2. Add the « ZAF CGS 1M Bedrock Lithostratigraphy » WMS server at this URL: http://196.33.85.22/cgi-bin/ZAF_CGS_Bedrock_Geology/wms

  3. Load the BEDROCKGEOLOGY layer into the map (you can also use the Layer ‣ Add Layer ‣ addWmsLayer Add WMS/WMTS Layer… button to open the Data Source Manager dialog). Remember to check that it’s in the same WGS 84 / World Mercator projection as the rest of your map!

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

    ../../../_images/bedrock_geology_layer.png

Vérifiez vos résultats

10.1.3. moderate Try Yourself

  1. Hide all other WMS layers to prevent them from rendering unnecessarily in the background.

  2. Add the « OGC » WMS server at this URL: http://ogc.gbif.org:80/wms

  3. Ajoutez la couche bluemarble.

Vérifiez vos résultats

10.1.4. hard Try Yourself

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

  • Find a new WMS at directory.spatineo.com (or elsewhere online). It must not have associated fees or restrictions, and must have coverage over the Swellendam study area.

    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).

Vérifiez vos résultats

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.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.