Not logged in

Documentation and Tutorial

Back to main LibreWMS Wiki page

a very quick introduction to WMS for absolute beginners

The Web Map Service is a communication protocol formally defined as an international standard by the Open Geospatial Consortium: the intended scope of OGC - WMS is to support high quality, content rich and strongly interactive consultation of geographic maps over standard Internet connections.


Accordingly to the standard client-server model architecture we'll have the followings components: All this will certainly sound someway familiar to you; and it's not at all surprising, because this one exactly is the same standard architecture used by the widespread Internet. And effectively WMS is completely based over the standard HTTP application protocol, exactly the same one widely adopted by any other ordinary, non-geographic WEB application.
So WMS simply is a more specialized application protocol built on the top of HTTP, and specifically intended for mapping / geographic purposes: Any standard OGC-WMS server is expected to accept and service the following requests: All the above basic informations represent the minimal core you are expected to know about WMS before proceeding to a practical tour. We'll examine in more depth any relevant technical detail during the tour.
If you are anyway interested to learn more about this topic you could usefully read the official standard specification.

about LibreWMS

LibreWMS is a light-weight, elementary simple free software application implementing the functionalities of an almost complete standard compliant WMS client; in other worlds, you can use this simple tool in order to directly access an external WMS server.
LibreWMS simply is a thin GUI level encapsulating the WMS client internally implemented by the librasterlite2 library, and is released under the license terms of the GPLv3 (or any subsequent version).

Guided tour - tutorial


When LibreWMS starts an empty map is displayed; this simply is because you've not yet established any server connection.
Please notice: you can use the toolbar buttons in order to execute interactive commands.

Or alternatively you could use the main menu; the same identical functionalities are supported both ways, and the overall effect will always be exactly the same.

establishing a connection - adding a map layer

You could eventually directly enter the full URL corresponding to some WMS GetCapabilities request; this usually is the preferred way used by skilled professional users.

Anyway LibreWMS supports also an alternative approach, mainly intended for beginners and novice users. In this case you could pick one the many internally predefined well known WMS servers, and the appropriate request URL will be then automatically selected.
Hint: filtering the list of the predefined WMS services by country or by category makes the selection even easier.

What really happens every time immediately after contacting a WMS server is that a canonical GetCapabilities response will be received and processed; and the dialog box will be immediately updated so to show the list of all map layers being published by the server.
The above figure shows an elementary simple case: this WMS server does actually publish just a single layer.

It's now time to examine several interesting details about WMS map layers: In order to effectively connect some WMS layer, you are expected to specify few settings (you can usually simply confirm the default values):
In the previous example the WMS server simply published just a single layer. This further example is more elaborate: WMS effectively allows a single server to publish many different layers at the same time.
And that's not at all: the WMS layers could be eventually grouped so to form a nicely ordered nested hierarchy. In this case please remember the following simple rules: connection-7
Please note well: any rule has its exceptions. The group of WMS layers shown in this example is disabled (you couldn't select it) simply because it has no name at all.
This means that it's a placeholder group, mainly intended to keep the underlaying layers nicely ordered. But the WMS server will always refuse to accept a GetMap request for any group not identified by its own individual Name.

And finally this one is a very nice example of a well designed WMS GetCapabilities response; in an ideal world you should expect that every WMS server will return a so clear and information rich response: Please note: this specific layer adopts the WMS protocol version 1.3.0 and is based on a geographic Reference System (namely EPSG:4326 aka WGS 84); so in this case (accordingly to standard requirements) flipping the axes is a necessary option.

consulting WMS services - build your own maps

Immediately after selecting any WMS layer LibreWMS will start to show an interactive map over the screen, accordingly to GetMap responses returned by the currently connected WMS server(s).
You could then executed the following map navigation commands:

This example shows a very peculiar map: this is an interesting example of an ancient historical map (about 1820), carefully scannerized and then ortorectified to perfectly match modern times Reference Systems.
Please note: by switching on and off these three WMS layers we are effectively performing a travel along the time and following the historical evolution of the mapped zone from 1820 to 1988 (black and white) and 2010 (true color).
All three layers adopts the same Reference System, so to perfectly overlap one over the others.

We have previously seen the case of two full opaque layers; but other WMS layers are instead nicely transparent (as the one shown on this example).
Now we've aggregated a bottom level opaque layer (the historical map) and a top level transparent layer (a modern digital map), so to produce a further new map.
Please note well: this one is the most amazing feature supported by WMS; you can freely compose your own custom maps at your will, so to be perfectly suited for your very specific individual requirements and purposes.

In this further example we are now over-impressing a road-network transparent layer over a true color ortophotografic map; and in this case too we are now seeing a new aggregate map very rich of informations.
Note well: you are free to aggregate many layers of different origin (e.g. published by different Agencies), at least since all them conforms to the same WMS standards supporting some common Reference System. None of the many widespread proprietary web-based mapping services can offer you something like this.
May well be that WMS is a little bit harsher to be used for beginners, but after by-passing some initial difficulty you'll then discover the incredible power and unconstrained flexibility supported by WMS.

advanced features

Every currently connected WMS layer has its own handling menu. Just left-click over the corresponding layer name.

The most interesting options are accessible from the Configure menu: metadata
Another useful option supported by LibreWMS is the one to disclose full metadata accompanying each layer. This usually is the best way to get any possible relevant information about the layers we are interested in.
Please notice: in the layer's metadata there is a Queryable attribute; if this is set to yes this means that this layer effectively supports dynamic GetFeatureInfo requests.


miscellaneous features

LibreWMS supports an internal Printer module. This is someway a misnomer, because it more precisely is a multi-function export module supporting the following options:
LibreWMS (or most exactly: librastelite2) supports an internal WMS cache, intended to reduce the number of useless exchanges between the client and the server; if a response is already stored into the local cache LibreWMS will then avoid to send yet again another request, and will directly used the cached response.
The most efficient way to take full profit form the internal cache is by selecting the tiled option, because this way the probability that the same identical tile could be reused more times will obviously increase. The above shown dialog box allows you to monitorize and to reconfigure the cache settings.

Back to main LibreWMS Wiki page