Outdated version of the documentation. Find the latest one here.

.

QGIS comme client de données OGC

L’OGC (Open Geospatial Consortium) est une organisation internationale à laquelle participent plus de 300 organisations commerciales, gouvernementales, associatives et laboratoires de recherche à travers le monde. Ses membres développent et implémentent des standards pour les services et le contenu géospatial, le traitement de données SIG et les formats d’échange.

Un nombre croissant de spécifications décrivant les modèles de données géographiques sont développées par l’OGC pour servir des besoins spécifiques dans des situations nécessitant une interopérabilité et des technologies géospatiales, dont les SIG. Des informations supplémentaires peuvent être trouvées sur le site http://www.opengeospatial.org/.

Les spécifications importantes de l’OGC prises en charge par QGIS sont :

Les services OGC sont de plus en plus utilisés pour échanger des données géospatiales entre différentes implémentations SIG et des fournisseurs de données. QGIS peut maintenant traiter les spécifications citées ci-dessus dont le SFS (via PostgreSQL / PostGIS, voir section Couches PostGIS).

Client WMS / WMTS

Aperçu de la gestion du WMS

QGIS peut actuellement agir comme client WMS pour les versions 1.1, 1.1.1 et 1.3 des serveurs WMS. Il a été tout particulièrement testé avec des serveurs accessibles publiquement comme ceux de DEMIS.

Un serveur WMS agit en fonction des requêtes envoyées par le client (par exemple QGIS) pour une carte raster avec une étendue donnée, un ensemble de couches, une sémiologie et une transparence. Le serveur WMS consulte alors ses sources de données locales, rasterise la carte et la renvoie au client dans un format raster. Pour QGIS, il s’agira par exemple des formats JPEG ou PNG.

Un WMS est de manière générale un service web mis en œuvre selon une architecture REST (Representational State Transfer) plutôt qu’un service web pleinement déployé. De cette façon, vous pouvez copier les adresses générées par QGIS et les copier dans un navigateur internet pour retrouver les mêmes images que dans QGIS. Cela peut être très pratique pour résoudre des problèmes, car de fait il y a plusieurs serveurs WMS existants ayant chacun leur interprétation du standard WMS.

Des couches WMS peuvent être ajoutées assez simplement, du moment que vous connaissez l’URL pour accéder au serveur WMS, vous avez une connexion sous forme de service sur ce serveur, et celui-ci comprend le protocole HTTP comme mécanisme de transport.

Aperçu du support WMTS

QGIS peut aussi agir comme client WMTS. WMTS est un standard OGC de diffusion des données cartographiques sous formes de tuiles prédéfinies. C’est un moyen de diffusion plus rapide et plus efficient que le standard WMS car les tuiles sont générées à l’avance et les requêtes clientes ne portent que sur la transmission des tuiles et non leur production. A contrario, une requête WMS implique à la fois la génération des données et leur transmission. Un exemple bien connu d’utilisation de données cartographiques tuilées, non conforme au standard OGC, est Google Maps.

Afin d’afficher des données à différentes échelles proches de celles souhaitées par l’utilisateur, les dalles WMTS sont produites à différents niveaux d’échelle et peuvent être demandées par une application SIG cliente.

Ce diagramme illustre le concept de tuiles prédéfinies:

Figure WMTS 1:

../../../_images/concept_wmts.png

Le concept de tuiles prédéfinies WMTS

The two types of WMTS interfaces that QGIS supports are via Key-Value-Pairs (KVP) and RESTful. These two interfaces are different, and you need to specify them to QGIS differently.

1) In order to access a WMTS KVP service, a QGIS user must open the WMS/WMTS interface and add the following string to the URL of the WMTS tile service:

"?SERVICE=WMTS&REQUEST=GetCapabilities"

Un exemple de ce type d’adresse est

http://opencache.statkart.no/gatekeeper/gk/gk.open_wmts?\
  service=WMTS&request=GetCapabilities

For testing the topo2 layer in this WMTS works nicely. Adding this string indicates that a WMTS web service is to be used instead of a WMS service.

  1. The RESTful WMTS service takes a different form, a straightforward URL. The format recommended by the OGC is:
{WMTSBaseURL}/1.0.0/WMTSCapabilities.xml

This format helps you to recognize that it is a RESTful address. A RESTful WMTS is accessed in QGIS by simply adding its address in the WMS setup in the URL field of the form. An example of this type of address for the case of an Austrian basemap is http://maps.wien.gv.at/basemap/1.0.0/WMTSCapabilities.xml.

Note

You can still find some old services called WMS-C. These services are quite similar to WMTS (i.e., same purpose but working a little bit differently). You can manage them the same as you do WMTS services. Just add ?tiled=true at the end of the url. See http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification for more information about this specification.

When you read WMTS, you can often think WMS-C also.

Sélection des serveurs WMS/WMTS

La première fois que vous utilisez la fonctionnalité de services WMS dans QGIS, il n’y a aucun serveur défini.

Commencez par cliquer sur le bouton mActionAddWmsLayer Ajoutez une couche WMS dans la barre d’outils ou via le menu Couche ‣ Ajoutez une couche WMS....

La fenêtre Ajouter des couches depuis un serveur pour ajouter des couches d’un serveur WMS s’ouvre. Vous pouvez ajouter des serveurs pour tester en cliquant le bouton [Ajouter les serveurs par défaut]. Cela ajoutera deux serveurs WMS de démonstration, celui de DM Solutions Group et celui de Lizardtech. Pour définir un nouveau serveur WMS, dans l’onglet Couches, cliquez sur le bouton [Nouveau] puis entrez les paramètres de connexion du serveur WMS désiré, comme listé dans le tableau table_OGC_1:

Nom

Un nom pour cette connexion. Ce nom sera utilisé dans la liste déroulante des connexions aux serveurs afin que vous puissiez le distinguer des autres serveurs WMS.

URL

URL du serveur fournissant les données. Cela doit être un nom d’hôte publique – le même format que si vous l’utilisiez pour ouvrir une connexion Telnet ou pinguer un hôte (ou dans un navigateur Internet).

Nom utilisateur

Nom d’utilisateur pour accéder à un serveur WMS sécurisé. Ce paramètre est optionnel.

Mot de Passe

Mot de passe pour une authentification basique à un serveur WMS. Ce paramètre est optionnel.

Ignorer l’adresse GetMap

checkbox Ignorer l’adresse GetMap signalée : force l’utilisation de l’adresse précisée dans le champ URL ci-dessus.

Ignorer l’adresse GetFeatureInfo

checkbox Ignorer l’adresse GetFeatureInfo signalée : force l’utilisation de l’adresse précisée dans le champ URL ci-dessus.

Table OGC 1 : Paramètres de connexion à un serveur WMS

Si vous devez configurer un serveur proxy pour pouvoir recevoir des services WMS à partir d’Internet, vous pouvez ajouter votre serveur proxy dans les options. Choisissez le menu Préférences ‣ Options et cliquez sur l’onglet Réseau. Vous pouvez alors ajouter votre configuration de proxy et l’activer en cochant la case checkbox Utiliser un proxy pour l’accès Internet. Assurez-vous que vous avez sélectionné le type de proxy correct dans la liste déroulante:guilabel:Type de proxy selectstring.

Une fois qu’une nouvelle connexion à un serveur WMS a été créée, elle sera sauvegardée pour les futures sessions de QGIS.

Astuce

À propos des URL des serveurs WMS

Assurez-vous, lorsque vous entrez l’URL du serveur WMS, d’avoir uniquement l’URL de base. Par exemple, vous ne devez pas avoir de paramètres tels que request=GetCapabilities ou version=1.0.0 dans votre URL.

Chargement des couches WMS/WMTS

Once you have successfully filled in your parameters, you can use the [Connect] button to retrieve the capabilities of the selected server. This includes the image encoding, layers, layer styles and projections. Since this is a network operation, the speed of the response depends on the quality of your network connection to the WMS server. While downloading data from the WMS server, the download progress is visualized in the lower left of the WMS dialog.

Votre écran doit ressembler un peu plus à la figure figure_OGR_1, qui affiche la réponse fournie par le serveur WMS de DM Solutions Group.

Figure OGR 1:

../../../_images/connection_wms.png

Fenêtre d’ajout d’un serveur WMS, avec indication des couches disponibles nix

Format d’image

La section Format d’image liste les formats qui sont gérés à la fois par le client et leur serveur. Choisissez en fonction de votre besoin de précision de l’image.

Astuce

Format d’image

Les serveurs WMS vous offriront typiquement le choix entre les formats d’image JPEG et PNG. Le JPEG est un format de compression avec perte alors que le PNG reproduit fidèlement les données raster brutes.

Utilisez le JPEG si vous vous attendez à ce que les données WMS soient de nature photographiques et/ou si vous acceptez une perte de qualité dans l’image. Ce compromis réduit généralement de cinq fois le temps de transfert des données par rapport au PNG.

Utilisez le PNG si vous voulez une représentation précise des données d’origine, et vous acceptez des temps de transfert des données plus longs.

Options

La zone Options de la fenêtre dispose d’un champ textuel où vous pouvez saisir le Nom de la couche WMS. Ce nom sera affiché dans la légende après le chargement de la couche.

Sous le nom de la couche vous pouvez définir la Taille de tuile (par exemple 256x256), si vous souhaitez diviser la requête WMS en plusieurs requêtes.

Limite d’entité de GetFeatureInfo permet de définir quelles entités requêter sur le serveur.

Si vous sélectionnez un WMS depuis la liste, la projection par défaut, fournie par mapserver, apparaît. Si le bouton [Modifications...] est actif, vous pouvez cliquer dessus pour changer cette projection par défaut pour une autre, fournie par le serveur WMS.

Ordre des couches

L’onglet Ordre des couches liste les couches sélectionnées disponibles pour le serveur WMS actuellement connecté. Certaines couches seront peut-être dépliables, cela signifie que différents styles sont disponibles pour cette couche.

Vous pouvez sélectionner plusieurs couches à la fois, mais seulement un style d’image par couche. Lorsque plusieurs couches sont sélectionnées, celles-ci seront combinées par le serveur WMS et transmises à QGIS en une seule fois.

Astuce

Ordonner les couches WMS

Les couches WMS sont superposées par le serveur dans l’ordre listé dans la section Couches, du haut vers le bas. Si vous souhaitez changer cet ordre, utilisez l’onglet Ordre des couches.

Transparence

Dans cette version de QGIS, le paramètre de Transparence globale de la fenêtre de Propriétés de la couche est codé en dur pour être toujours activé, si disponible.

Astuce

Transparence des couches WMS

La disponibilité de la transparence de l’image WMS dépend du format d’image utilisé : les formats PNG et GIF gèrent la transparence, tandis que le format JPEG ne le gère pas.

Système de Coordonnées de Référence

Un système de coordonnées de référence de (SCR) est la terminologie de l’OGC pour désigner une projection QGIS.

Chaque couche WMS peut être représentée dans plusieurs projections (ou SCR), en fonction des possibilités du serveur WMS.

Pour choisir un SCR, cliquez sur le bouton [Modifications...] et une fenêtre similaire à la figure de la section Utiliser les projections apparaitra. La principale différence est qu’ici seules les projections gérées par le serveur seront listées.

Jeux de Tuiles

When using WMTS (Cached WMS) services like

http://opencache.statkart.no/gatekeeper/gk/gk.open_wmts?\
  service=WMTS&request=GetCapabilities

you are able to browse through the Tilesets tab given by the server. Additional information like tile size, formats and supported CRS are listed in this table. In combination with this feature, you can use the tile scale slider by selecting Settings ‣ Panels (KDE and Windows) or View ‣ Panels (Gnome and MacOSX), then choosing Tile scale. This gives you the available scales from the tile server with a nice slider docked in.

Utiliser l’outil Identifier

Une fois que vous avez ajouté un serveur WMS et si une couche du serveur WMS est interrogeable, vous pouvez utiliser l’outil mActionIdentify Identifier pour sélectionner un pixel sur la carte. Une requête est envoyée au serveur WMS pour chaque sélection effectuée. Les résultats de la requête sont renvoyés au format texte. Le formatage de ce texte dépend du serveur WMS utilisé.

Sélection du format

If multiple output formats are supported by the server, a combo box with supported formats is automatically added to the identify results dialog and the selected format may be stored in the project for the layer.

Support du format GML

The mActionIdentify Identify tool supports WMS server response (GetFeatureInfo) in GML format (it is called Feature in the QGIS GUI in this context). If “Feature” format is supported by the server and selected, results of the Identify tool are vector features, as from a regular vector layer. When a single feature is selected in the tree, it is highlighted in the map and it can be copied to the clipboard and pasted to another vector layer. See the example setup of the UMN Mapserver below to support GetFeatureInfo in GML format.

# in layer METADATA add which fields should be included and define geometry (example):

"gml_include_items"   "all"
"ows_geometries"      "mygeom"
"ows_mygeom_type"     "polygon"

# Then there are two possibilities/formats available, see a) and b):

# a) basic (output is generated by Mapserver and does not contain XSD)
# in WEB METADATA define formats (example):
"wms_getfeatureinfo_formatlist" "application/vnd.ogc.gml,text/html"

# b) using OGR (output is generated by OGR, it is send as multipart and contains XSD)
# in MAP define OUTPUTFORMAT (example):
OUTPUTFORMAT
    NAME "OGRGML"
    MIMETYPE "ogr/gml"
    DRIVER "OGR/GML"
    FORMATOPTION "FORM=multipart"
END

# in WEB METADATA define formats (example):
"wms_getfeatureinfo_formatlist" "OGRGML,text/html"

Visualiser les propriétés

Une fois que vous avez ajouté un serveur WMS, vous pouvez voir ses propriétés en faisant un clic-droit sur la couche dans la légende et en sélectionnant Propriétés.

Onglet Métadonnées

L’onglet Métadonnées affiche la richesse des informations du serveur WMS, généralement collectées à partir de la requête capabilities renvoyée par le serveur. Beaucoup de définitions peuvent être obtenues par la lecture des normes WMS (voir OPEN-GEOSPATIAL-CONSORTIUM Bibliographie), mais en voici quelques-unes :

  • Propriétés du serveur

    • Version du WMS — La version de WMS gérée par le serveur.

    • Formats d’image — La liste des types MIME que le serveur peut renvoyer lors qu’il dessine la carte. QGIS gère tous les formats pour lesquelles la bibliothèque Qt en sous-couche a été compilée, qui sont à minima les types image/png et image/jpeg.

    • Formats de l’outil Identitier — La liste des types MIME auxquels le serveur peut répondre quand vous utilisez l’outil Identifier. Pour l’instant QGIS gère le type text-plain.

  • Propriétés de la couche

    • Selectionnée — Si la couche a été sélectionnée quand le serveur correspondant a été ajouté au projet.

    • Visible — Si cette couche a été sélectionnée comme visible dans la légende (pas encore utilisé dans cette version de QGIS).

    • Peut identifier — Si cette couche retournera des résultats quand l’outil Identifier est utilisé sur celle-ci.

    • Peut être transparente — Si cette couche peut être rendue avec une transparence. Cette version de QGIS utilisera toujours la transparence si cette option est à Oui et que le format d’image gère la transparence.

    • Peut zoomer — Si on peut zoomer sur cette couche avec le serveur. Cette version de QGIS suppose que toutes les couches WMS ont ce paramètre défini à Oui. Les couches déficientes seront peut-être rendues d’une manière étrange.

    • Décompte des cascades — Les serveurs WMS peuvent agir comme un proxy à d’autres serveurs WMS pour obtenir des données pour une couche. Cette entrée affiche le nombre de fois où la requête pour cette couche est redirigée vers un autre serveur WMS pour obtenir un résultat.

    • Largeur fixe, hauteur fixe — Si les pixels sources d’une couche ont des dimensions fixes. Cette version de QGIS suppose que toutes les couches WMS ont ce paramètre non fixé. Les couches déficientes seront peut-être rendues d’une manière étrange.

    • Emprise en WGS 84 — La limite du contour de la couche, en coordonnées WGS 84. Certains serveurs WMS ne définissent pas ceci correctement (par exemple, des coordonnées UTM sont utilisées à la place). Si cela est le cas, alors la vue initiale sera rendue avec une vue très étendue. Le webmaster du WMS doit être informé de cette erreur sur ce paramètre qui est certainement connu en tant qu’éléments XML du WMS LatLonBoundingBox, EX_GeographicBoundingBox ou the CRS:84 BoundingBox.

    • Disponibilité des SCR — Les projections que l’on peut utiliser via le serveur WMS. Elles sont listées dans le format natif du WMS.

    • Disponibilité des styles — Les styles d’images que le serveur WMS peut utiliser pour le rendu de cette couche.

Show WMS legend graphic in table of contents and composer

The QGIS WMS data provider is able to display a legend graphic in the table of contents’ layer list and in the map composer. The WMS legend will be shown only if the WMS server has GetLegendGraphic capability and the layer has getCapability url specified, so you additionally have to select a styling for the layer.

If a legendGraphic is available, it is shown below the layer. It is little and you have to click on it to open it in real dimension (due to QgsLegendInterface architectural limitation). Clicking on the layer’s legend will open a frame with the legend at full resolution.

In the print composer, the legend will be integrated at it’s original (dowloaded) dimension. Resolution of the legend graphic can be set in the item properties under Legend -> WMS LegendGraphic to match your printing requirements

The legend will display contextual information based on your current scale. The WMS legend will be shown only if the WMS server has GetLegendGraphic capability and the layer has getCapability url specified, so you have to select a styling.

Limitations du client WMS

Toutes les fonctionnalités d’un client WMS n’ont pas été intégrées dans cette version de QGIS. Les exceptions les plus notables sont présentées ci-après.

Éditer la configuration d’une couche WMS

Une fois que vous avez complété la procédure d’ mActionAddWmsLayer Ajout de couches WMS, il n’y aucun moyen de modifier la configuration. Une solution de contournement consiste à supprimer la couche et recommencer.

Serveurs WMS nécessitant une authentification

Actuellement les serveurs WMS publics et sécurisés sont gérés. Les serveurs sécurisés sont accessibles via authentification publique. Vous pouvez ajouter ces informations d’authentification (optionnelles) au moment de l’ajout d’un serveur WMS. Voir la section Sélection des serveurs WMS/WMTS pour les détails.

Astuce

Accéder à des couches OGC sécurisées

Si vous avez besoin d’accéder à des couches sécurisées avec des méthodes sécurisées autres que la simple authentification, vous pouvez utiliser InteProxy comme proxy transparent, qui gère plusieurs méthodes d’authentification. Vous pouvez trouver plus d’informations dans le manuel d’InteProxy que vous trouverez sur le site http://inteproxy.wald.intevation.org.

Astuce

QGIS WMS Mapserver

Depuis la version 1.7.0, QGIS possède sa propre implémentation d’un Mapserver WMS 1.3.0. Référez vous à QGIS comme serveur de données OGC pour en savoir plus.

Client WCS

wcs A Web Coverage Service (WCS) provides access to raster data in forms that are useful for client-side rendering, as input into scientific models, and for other clients. The WCS may be compared to the WFS and the WMS. As WMS and WFS service instances, a WCS allows clients to choose portions of a server’s information holdings based on spatial constraints and other query criteria.

QGIS has a native WCS provider and supports both version 1.0 and 1.1 (which are significantly different), but currently it prefers 1.0, because 1.1 has many issues (i.e., each server implements it in a different way with various particularities).

The native WCS provider handles all network requests and uses all standard QGIS network settings (especially proxy). It is also possible to select cache mode (‘always cache’, ‘prefer cache’, ‘prefer network’, ‘always network’), and the provider also supports selection of time position, if temporal domain is offered by the server.

Client WFS et WFS-T

Dans QGIS, une couche WFS se comporte à peu près comme n’importe quelle autre couche vecteur. Vous pouvez identifier et sélectionner des objets et voir la table attributaire. Depuis QGIS, 1.6, l’édition WFS-T est prise en charge si le serveur le propose.

Dans l’ensemble, l’ajout d’une couche WFS suit une procédure très similaire à celle des couches WMS. La différence est qu’il n’y a pas de serveur défini par défaut, nous allons donc devoir en ajouter un.

Charger une couche WFS

Pour notre exemple nous utiliserons le serveur WFS de DM Solutions et afficherons une couche. L’URL est : http://www2.dmsolutions.ca/cgi-bin/mswfs_gmap

  1. Cliquez sur le bouton wfs Ajouter une couche WFS de la barre d’outils Couches. La fenêtre Ajouter une couche WFS d’un serveur apparaît.

  2. Cliquez sur [Nouveau].

  3. Entrez ‘DM Solutions’ pour le nom.

  4. Entrez l’URL (voir ci-dessus).

  5. Cliquez sur le bouton [OK].

  6. Choose ‘DM Solutions’ from the Server Connections selectstring drop-down list.
  7. Cliquez sur [Connexion].

  8. Attendez que la liste des couches soit complète.

  9. Cliquez sur la couche Parks dans la liste.

  10. Cliquez sur [Appliquer] pour ajouter la couche à la carte.

Il est à noter que tous paramètres de proxy que vous auriez renseignés dans vos options sont également reconnus.

Figure OGR 3:

../../../_images/connection_wfs.png

Ajout d’une couche WFS nix

You’ll notice the download progress is visualized in the lower left of the QGIS main window. Once the layer is loaded, you can identify and select a province or two and view the attribute table.

Seul le WFS 1.0.0 est géré. Pour le moment il n’y a pas eu de test pour les autres versions des services WFS des serveurs WFS. Si vous rencontrez des problèmes avec d’autres serveurs WFS, n’hésitez pas à contacter l’équipe de développement. Référez-vous à la section Aide et support pour plus d’informations sur les listes de diffusions.

Astuce

Trouver des serveurs WFS

Vous trouverez d’autres serveurs WFS en cherchant dans votre moteur de recherche favori. Il existe de nombreuses listes d’URL publiques, plus ou moins à jour.