The Open Geospatial Consortium (OGC), is an international organization with more than 300 commercial, governmental, nonprofit and research organizations worldwide. Its members develop and implement standards for geospatial content and services, GIS data processing and exchange.
Describing a basic data model for geographic features an increasing number of specifications are developed to serve specific needs for interoperable location and geospatial technology, including GIS. Further information can be found under 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 PostGIS Layers).
QGIS currently can act as a WMS client that understands WMS 1.1, 1.1.1 and 1.3 servers. It has particularly been tested against publicly accessible servers such as DEMIS.
WMS servers act 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 would typically be JPEG or PNG.
WMS is generically a REST (Representational State Transfer) service rather than a fully-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 servers in the market and they all have their own interpretation of the WMS standard.
WMS layers can be added quite simply, as long as you know the URL to access the WMS server, you have a serviceable connection to that server, and the server understands HTTP as the data transport mechanism.
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 a 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 and 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.
In order to display the data at a variety of scales close to what the user might want, the WMTS tile sets are produced at several different scale levels and are made available for the GIS client to request them.
This diagram illustrates the concept of tile sets:
Figure WMTS 1:
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 opens the WMS/WMTS interface and adds the following string to the URL of the WMTS tile service:
An example of this type of address is
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
2) The RESTful WMTS service takes a different form, it is a straightforward URL, the format recommended by the OGC is:
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 for an Austrian basemap of this type of address is http://maps.wien.gv.at/basemap/1.0.0/WMTSCapabilities.xml
You can find some old service call WMS-C. Thoses services are quiet similar to WMTS service same purpose but working a little bit differently). You can manage them as the same way you do it for 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.
The first time you use the WMS feature, there are no servers defined.
The dialog Add Layer(s) from a Server for adding layers from the WMS server appears. You can add some servers to play with by clicking the [Add default servers] button. This will add two WMS demo servers for you to use, the WMS servers of the DM Solutions Group and Lizardtech. To define a new WMS server in the tab Layers, select the [New] button. Then enter the parameters to connect to your desired WMS server, as listed in table_OGC_1:
|Name||A name for this connection. This name will be used in the Server Connections drop-down box so that you can distinguish it from other WMS Servers.|
|URL||URL of the server providing the data. This must be a resolvable host name; the same format as you would use to open a telnet connection or ping a host.|
|Username||Username to access a secured WMS-server. This parameter is optional.|
|Password||Password for a basic authenticated WMS-server. This parameter is optional.|
|Ignore GetMap URI||Ignore GetMap URI reported in capabilities, use given URI from URL-field above.|
|Ignore GetFeatureInfo URI||Ignore GetFeatureInfo URI reported in capabilities , use given URI from URL-field above|
Table OGC 1: WMS Connection Parameters
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 menu Settings ‣ Options and click on the tab Network & Proxy. There you can add your proxy-settings and enable them by setting the Use proxy for web access. Make sure that you select the correct proxy type from the Proxy type dropdown menu.
Once the new WMS Server connection has been created, it will be preserved for future QGIS sessions.
On WMS Server URLs
Be sure, when entering in the WMS server URL, that you have the base URL. For example, you shouldn’t have fragments such as request=GetCapabilities or version=1.0.0 in your URL.
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 left bottom of the WMS dialog.
Your screen should now look a bit like figure_OGR_1, which shows the response provided by the DM Solutions Group WMS server.
Figure OGR 1:
The Image encoding section now lists the formats that are supported by both the client and server. Choose one depending on your image accuracy requirements.
You will typically find that a WMS server offers you the choice of JPEG or PNG image encoding. JPEG is a lossy compression format, whereas PNG faithfully reproduces the raw raster data.
Use JPEG if you expect the WMS data to be photographic in nature and/or you don’t mind some loss in picture quality. This trade-off typically reduces by 5 times the data transfer requirement compared to PNG.
Use PNG if you want precise representations of the original data, and you don’t mind the increased data transfer requirements.
The Options field provides a text field where you can add a Layer name for the WMS-layer. This name will be presented in the legend after loading the layer.
Below the layer name you can define Tile size, if you want to set tile sizes (eg. 256x256) to split up the WMS request into multiple requests.
The Feature limit for GetFeatureInfo defines what features from the server to query.
If you select a WMS from the list a field with the default projection, provided by the mapserver, appears. If the [Change...] button is active, you can click on it and change the default projection of the WMS to another CRS, provided by the WMS server.
The tab Layer Order lists the selected layers available from the current connected WMS server. You may notice that some layers are expandable, this means that the layer can be displayed in a choice of image styles.
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.
WMS Layer Ordering
WMS layers rendered by a server are overlaid in the order listed in the Layers section, from top to bottom of the list. If you want to change the overlay order, you can use the tab Layer Order.
In this version of QGIS, the Global transparency setting from the Layer Properties is hard-coded to be always on, where available.
WMS Layer Transparency
The availability of WMS image transparency depends on the image encoding used: PNG and GIF support transparency, whilst JPEG leaves it unsupported.
Coordinate Reference System
A Coordinate Reference System (CRS) is the OGC terminology for a QGIS Projection.
Each WMS Layer can be presented in multiple CRSs, depending on the capability of the WMS server.
To choose a CRS, select [Change...] and a dialog similar to Figure Projection 3 in Working with Projections will appear. The main difference with the WMS version of the screen is that only those CRSs supported by the WMS Server will be shown.
Within QGIS you can search for WMS-servers. Figure_OGC_2 shows the tab Server Search with the Add Layer(s) from a Server dialog.
Figure OGR 2:
As you can see it is possible to enter a search-string in the text field and hit the [Search] button. After a short while the search result will be populated into the list below the text field. Browse the result list and inspect your search results within the table. To visualize the results, select a table entry, press the [Add selected row to WMS-list] button and change back to the tab Layers. QGIS automatically has updated your server list and the selected search result is already enabled in the list of saved WMS-servers in the Layers tab. You only need to request the list of layers by clicking the [Connect] button. This option is quite handy when you want to search maps by specific keywords.
Basically this option is a frontend to the API of http://geopole.org.
When using WMTS (Cached WMS) Services like
you are able to browse through the tab Tilesets 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 from the Settings ‣ Panels (KDE and Windows) or View ‣ Panels (Gnome and MacOSX) then choose Tile scale, which gives you the available scales from the tileserver with nice slider docked in.
Once you have added a WMS server, and if any layer from a WMS server is queryable, you can then use the 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.
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 will is stored in project for the layer.
GML format support
The Identify tool supports WMS server response (GetFeatureInfo) in GML (it is called Feature in QGIS GUI in this context) format. If “Feature” format is supported by the server and selected, results of the Identify tool are vector features like from regular vector layer. When a single feature is selected in the tree, it is highlighted in the map and it can be copied to clipboard and pasted to another vector layer. See example setup of UMN Mapserver below to support GetFeatureInfo 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"
Once you have added a WMS server, you can view its properties by right-clicking on it in the legend, and selecting Properties.
The tab Metadata displays a wealth of information about the WMS server, generally collected from the Capabilities statement returned from that server. Many definitions can be cleaned by reading the WMS standards (see OPEN-GEOSPATIAL-CONSORTIUM Literature and Web References), but here are a few handy definitions:
Not all possible WMS Client functionality had been included in this version of QGIS. Some of the more notable exceptions follow.
Editing WMS Layer Settings
WMS Servers Requiring Authentication
Currently public accessible and secured WMS-services are supported. The secured WMS-servers can be accessed by public authentication. You can add the (optional) credentials when you add a WMS-server. See section Selecting WMS/WMTS Servers for details.
Accessing secured OGC-layers
If you need to access secured layers with other secured methods than basic authentication, you could use InteProxy as a transparent proxy, which does support several authentication methods. More information can be found at the InteProxy manual found on the website http://inteproxy.wald.intevation.org.
|qg| WMS Mapserver
From Version 1.7.0 QGIS has its own implementation of a WMS 1.3.0 Mapserver. Read more about this at chapter QGIS as OGC Data Server.
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, each server implements it in 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 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 server.
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.
In general adding a WFS layer is very similar to the procedure used with WMS. The difference is there are no default servers defined, so we have to add our own.
Loading a WFS Layer
As an example we use the DM Solutions WFS server and display a layer. The URL is: http://www2.dmsolutions.ca/cgi-bin/mswfs_gmap
Note that proxy settings you have set in your preferences are also recognized.
Figure OGR 3:
You’ll notice the download progress is visualized in the left bottom of the QGIS main window. Once the layer is loaded, you can identify and select a province or two and view the attribute table.
Only WFS 1.0.0 is supported. At this point there have not been many tests against WFS versions implemented in other WFS-servers. If you encounter problems with any other WFS-server, please do not hesitate to contact the development team. Please refer to Section Help and Support for further information about the mailinglists.
Finding WFS Servers
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.