A Web Mapping Service (WMS) is a service hosted on a remote server. Similar to a website, you can access it as long as you have a connection to the server. Using QGIS, you can load a WMS directly into your existing map. From the lesson on plugins, you will remember that it’s possible to load a new raster image from Google, for example. However, this is a once-off transaction: once you have downloaded the image, it doesn’t change. A WMS is different, in that it’s a live service that will automatically refresh its view if you pan or zoom on the map. 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 the places, new_solution and important_roads layers: Remember how you connected to a SpatiaLite database at the beginning of the course. The rural, urban, and water layers are in that database. To use those layers, you first needed to connect to the database. Using a WMS is similar, with the exception (of course) that the layers are on a remote server. You’ll need a WMS address to continue. There are several free WMS servers available on the Internet. One of these is GIS-LAB.info, which makes use of the OpenStreetMap dataset. You will notice that your layers aren’t located correctly. (For example, the places layer puts Bonnievale in the Gulf of Guinea.) This is obviously because “on the fly” projection is disabled. Let’s enable it again, but using the same projection as the osm layer, which is WGS 84 / World Mercator. By now you may have noticed that this WMS layer actually has many layers in it. It has streets, rivers, nature reserves, and so on. What’s more, even though it looks like it’s made up of vectors, it seems to be a raster. But you can’t even change its symbology! Why is that? This is how a WMS works: it’s a map, similar to a normal map on paper, that you receive as an image. What usually happens is that you have vector layers, which QGIS renders as a map. But using a WMS, those vector layers are on the WMS server, which renders it as a map and sends that map to you as an image. QGIS can display this image, but can’t change its symbology, because all that is handled on the server. This has several advantages, because you don’t need to worry about the symbology. It’s already worked out, and should be nice to look at on any competently designed WMS. On the other hand, you can’t change the symbology if you don’t like it, and if things change on the WMS server, then they’ll change on your map as well. This is why you sometimes want to use a Web Feature Service (WFS) instead, which gives you vector layers separately, and not as part of a WMS-style map. This will be covered in the next lesson, however. First, let’s add another WMS layer from the gis-lab WMS server. Remember that what you need in order to use a WMS is only its URL (and preferably some sort of description). Now that you’ve added an inactive map as a backdrop, you’ll be glad to know that it’s also possible to add features (such as the other vector layers you added before). Adding features from remote servers is possible by using a Web Feature Service (WFS). That’s the topic of the next lesson. Source.