.

QGIS as OGC Data Client

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

Important OGC specifications supported by QGIS are:

OGC services are increasingly being used to exchange geospatial data between different GIS implementations and data stores. QGIS can deal with the above specifications as a client, being SFS (through support of the PostgreSQL / PostGIS data provider, see section Couches PostGIS).

Client WMS / WMTS

Aperçu de la gestion du WMS

QGIS currently can act as a WMS client that understands WMS 1.1, 1.1.1 and 1.3 servers. In particular, it has been tested against publicly accessible servers such as DEMIS.

A WMS server acts upon requests by the client (e.g., QGIS) for a raster map with a given extent, set of layers, symbolization style, and transparency. The WMS server then consults its local data sources, rasterizes the map, and sends it back to the client in a raster format. For QGIS, this format would typically be JPEG or PNG.

WMS is generically a REST (Representational State Transfer) service rather than a full-blown Web service. As such, you can actually take the URLs generated by QGIS and use them in a web browser to retrieve the same images that QGIS uses internally. This can be useful for troubleshooting, as there are several brands of WMS server on the market and they all have their own interpretation of the WMS standard.

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 can also act as a WMTS client. WMTS is an OGC standard for distributing tile sets of geospatial data. This is a faster and more efficient way of distributing data than WMS because with WMTS, the tile sets are pre-generated, and the client only requests the transmission of the tiles, not their production. A WMS request typically involves both the generation and transmission of the data. A well-known example of a non-OGC standard for viewing tiled geospatial data is 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

Pour les tests, la couche topo2 de ce WMTS fonctionne correctement. Ajouter cette chaîne indique que le service web WMTS est utilisé à la place du service WMS.

  1. Le service RESTful WMTS prend la forme différente d’une URL classique. Le format recommandé par l’OGC est le suivant:

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

Lorsque vous lisez WMTS, vous pouvez également penser WMS-C.

Sélection des serveurs WMS/WMTS

The first time you use the WMS feature in QGIS, there are no servers defined.

Begin by clicking the mActionAddWmsLayer Add WMS layer button on the toolbar, or selecting Layer ‣ Add WMS Layer....

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

If you need to set up a proxy server to be able to receive WMS services from the internet, you can add your proxy server in the options. Choose Settings ‣ Options and click on the Network & Proxy tab. There, you can add your proxy settings and enable them by setting checkbox Use proxy for web access. Make sure that you select the correct proxy type from the Proxy type selectstring drop-down menu.

Once the new WMS server connection has been created, it will be preserved for future QGIS sessions.

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

Une fois que vous avez remplis les paramètres, vous pouvez utiliser le bouton [Connect] pour récupérer les propriétés du serveur sélectionné. Cela inclut l’encodage des images, les couches, les styles de couches et les projections. Étant donné qu’il s’agit d’une opération réseau, la vitesse de réponse dépend de la qualité de la connexion réseau au serveur WMS. Lorsque les données sont téléchargées depuis le serveur WMS, la progression du téléchargement est visible dans le coin inférieur gauche de la boîte de dialogue WMS.

Votre écran devrait maintenant ressembler à la figure_OGR_1, qui montre la réponse fournie par le serveur WMS du Portail Européen du Sol.

Figure OGR 1:

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

Dialog for adding a WMS server, showing its available layers 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.

Enfin, vous pouvez activer checkbox Utiliser la légende WMS contextuelle si le serveur WMS prend en charge cette fonctionnalité. Sera alors affichée une légende adaptée aux éléments présents dans l’extension courante de la carte, les éléments de légende qui correspondent à des éléments non affichés ne seront pas inclus dans la légende.

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.

You can select several layers at once, but only one image style per layer. When several layers are selected, they will be combined at the WMS server and transmitted to QGIS in one go.

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

In this version of QGIS, the Global transparency setting from the Layer Properties is hard coded to be always on, where available.

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

A coordinate reference system (CRS) is the OGC terminology for a QGIS projection.

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

Lorsque vous utilisez des services WMTS (WMS en cache) tel que:

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

Once you have added a WMS server, and if any layer from a WMS server is queryable, you can then use the mActionIdentify Identify tool to select a pixel on the map canvas. A query is made to the WMS server for each selection made. The results of the query are returned in plain text. The formatting of this text is dependent on the particular WMS server used.

Sélection du format

Si le serveur gère plusieurs formats de sortie, une liste déroulante des format gérés est automatiquement ajoutée à la boîte de dialogue des résultats et le format sélectionné peut être stocké dans le fichier de projet pour la couche.

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.

    • Image Formats — The list of MIME-types the server can respond with when drawing the map. QGIS supports whatever formats the underlying Qt libraries were built with, which is typically at least image/png and image/jpeg.
    • Identity Formats — The list of MIME-types the server can respond with when you use the Identify tool. Currently, QGIS supports the text-plain type.
  • 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 — Whether or not this layer is selected as visible in the legend (not yet used in this version of QGIS).
    • Peut identifier — Si cette couche retournera des résultats quand l’outil Identifier est utilisé sur celle-ci.

    • Can be Transparent — Whether or not this layer can be rendered with transparency. This version of QGIS will always use transparency if this is Yes and the image encoding supports transparency.
    • Can Zoom In — Whether or not this layer can be zoomed in by the server. This version of QGIS assumes all WMS layers have this set to Yes. Deficient layers may be rendered strangely.
    • 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.

    • Fixed Width, Fixed Height — Whether or not this layer has fixed source pixel dimensions. This version of QGIS assumes all WMS layers have this set to nothing. Deficient layers may be rendered strangely.
    • WGS 84 Bounding Box — The bounding box of the layer, in WGS 84 coordinates. Some WMS servers do not set this correctly (e.g., UTM coordinates are used instead). If this is the case, then the initial view of this layer may be rendered with a very ‘zoomed-out’ appearance by QGIS. The WMS webmaster should be informed of this error, which they may know as the WMS XML elements LatLonBoundingBox, EX_GeographicBoundingBox or 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.

Affiche la légende WMS dans la légende et dans le composeur

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.

Si une légende graphique est disponible, elle est affichée sous la couche. Elle est de faible taille et vous devez cliquer dessus pour l’afficher complètement (dû à une limite d’architecture de QgsLegendInterface). Cliquer sur la légende de la couche ouvrira une fenêtre avec la légende en pleine résolution.

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

La légende affichera une information contextuelle basée sur l’échelle courante. La légende WMS sera affichée uniquement si le serveur WMS dispose de la fonction GetLegendGraphic et si la couche dispose d’une url getCapability pour pouvoir choisir son style.

Limitations du client WMS

Not all possible WMS client functionality had been included in this version of QGIS. Some of the more noteworthy exceptions follow.

Éditer la configuration d’une couche WMS

Once you’ve completed the mActionAddWmsLayer Add WMS layer procedure, there is no way to change the settings. A work-around is to delete the layer completely and start again.

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

Since Version 1.7.0, QGIS has its own implementation of a WMS 1.3.0 Mapserver. Read more about this in chapter QGIS as OGC Data Server.

Client WCS

wcs Un service Web Coverage (WCS) fournit un accès à des données raster sous une forme qui permet le rendu côté client, comme une entrée vers des modèles scientifiques. WCS peut être comparé à WFS et WMS. Comme ces services, WCS permet aux clients de choisir des portions de données issues du serveur basées sur des contraîntes spatiales et d’autres critères de recherche.

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

In QGIS, a WFS layer behaves pretty much like any other vector layer. You can identify and select features, and view the attribute table. Since QGIS 1.6, editing WFS-T is also supported.

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

Adding a WFS layer 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

You can find additional WFS servers by using Google or your favorite search engine. There are a number of lists with public URLs, some of them maintained and some not.