10.1. Lesson: Servicios de cartografía web

Un servicio de cartografía web (Web Mapping Service, WMS) es un servicio alojado en un servidor remoto. Parecido a una página web, se puede acceder a él siempre que se tenga una conexión con el servidor. Al utilizar QGIS se puede cargar un WMS directamente en su mapa existente.

De la lección sobre los complementos, recordará que es posible cargar una nueva imagen ráster desde Google, por ejemplo. Sin embargo, se trata de una transacción de una sola vez, una vez que se ha descargado la imagen, no cambiará. Un WMS se diferencia en que es un servicio vivo que actualizará automáticamente sus vistas al desplazar o ampliar el mapa.

El objetivo de esta lección: utilizar un WMS y entender sus limitaciones.

10.1.1. basic Follow Along: Cargar una capa WMS

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 a new map and loaded the original places, landuse and protected_areas layers and adjusted the symbology:

../../../_images/new_map.png
  1. Carga esas capas en un mapa nuevo, o utiliza mapa original con solo esas capas visibles.

  2. Before starting to add the WMS layer, deactivate «on the fly» projection (Project ‣ Properties… ‣ CRS tab, check No projection (or unknown/non-Earth projection). This may cause the layers to no longer overlap properly, but don’t worry: we’ll fix that later.

  3. To add WMS layers, click on the dataSourceManager button to open the Data Source Manager dialog and enable the addWmsLayer WMS/WMTS tab.

    ../../../_images/datasourcemanager_wms.png

    Remember how you connected to a SpatiaLite or GeoPackage database at the beginning of the course. The landuse, buildings, and roads layers are stored in a database. To use those layers, you first needed to connect to the database. Using a WMS is similar, with the exception that the layers are on a remote server.

  4. Para crear una nueva conexión a WMS, haz clic en el botón Nuevo.

    You’ll need a WMS address to continue. There are several free WMS servers available on the Internet. One of these is terrestris, which makes use of the OpenStreetMap dataset.

  5. Para utilizar ese WMS, ajústalo en tu cuadro de diálogo actual, así:

    ../../../_images/new_wms_connection.png
    • The value of the Name field should be terrestris.

    • The value of the URL field should be https://ows.terrestris.de/osm/service.

  6. Haz clic en Aceptar. Deberías ver el nuevo servidor WMS listado:

    ../../../_images/new_connection_listed.png
  7. Haz clic en Conectar. En la lista inferior, deberías ver ahora esas nuevas entradas cargadas:

    ../../../_images/new_wms_entries.png

    Todas esas capas se encuentran en el servidor WMS.

  8. Haz clic una vez en la capa OSM-WMS. Esto presentará su Sistema de Coordenadas de Referencia:

    ../../../_images/osm_wms_selected.png

    Since we’re not using WGS 84 for our map, let’s see all the CRSs we have to choose from.

    1. Click the Change… button. You will see a standard Coordinate Reference System Selector dialog.

    2. Queremos un SRC proyectado, así que vamos a elegir WGS 84 / Pseudo Mercator.

      1. Enter the value pseudo in the Filter field:

      2. Elige WGS 84 / Pseudo Mercator de la lista.

        ../../../_images/pseudo_mercator_selected.png
      3. Click OK. The Coordinate Reference System associated with the entry has changed.

  9. Click Add and the new layer will appear in your map as OpenStreetMap WMS - by terrestris.

  10. Close the Data Source Manager dialog if not done automatically

  11. In the Layers panel, click and drag it to the bottom of the list.

  12. Zoom out in order to get a global view of the layers. You will notice that your layers aren’t located correctly (near west of Africa). This is because «on the fly» projection is disabled.

    ../../../_images/reprojection_off.png
  13. Let’s enable the reprojection again, but using the same projection as the OpenStreetMap WMS layer, which is WGS 84 / Pseudo Mercator.

    1. Open the Project ‣ Properties… ‣ CRS tab

    2. Uncheck No projection (or unknown/non-Earth projection)

    3. Elige WGS 84 / Pseudo Mercator de la lista.

      ../../../_images/enable_projection.png
    4. Haz clic en Aceptar.

  14. Now right-click on one of your own layers in the Layers panel and click Zoom to layer extent. You should see the Swellendam area:

    ../../../_images/wms_result.png

Observa cómo las calles de la capa WMS y nuestras propias calles se solapan. ¡Eso es una buena noticia!

10.1.1.1. La naturaleza y limitaciones de WMS

Por ahora puedes haber observado que esta capa WMS tiene muchos elementos en ella. Tiene calles, rios, reservas naturales, y mucho más. Además, apesar de que parece que está hecho de vectores, parece ser un mapa ráster, no puedes cambiar su simbología. ¿Por qué?

Así es como trabaja un WMS: es un mapa, parecido a un mapa de papel normal, lo recibes como una imagen. Lo que pasa habitualmente es que tienes capas vectoriales, que en QGIS se representan como un mapa. Pero utilizando WMS, esas capas vectoriales están en el servidor WMS, que lo representa como un mapa y te lo envía en forma de imagen. QGIS puede visualizar esa imagen, pero no puede cambiar su simbología, porque todo eso es manejado por el servidor.

Eso tiene muchas ventajas, porque no necesitas preocuparte por la simbología. Ya está todo hecho, y debería quedar bonito a la vista en cualquier WMS competente.

Por otra parte, no puedes cambiar la simbología si no te gusta, y si las cosas cambian en el servidor WMS, también cambiarán en tu mapa. Por eso a veces puede que quieras utilizar en su lugar un Web Feature Service (WFS), que te dá capas vectoriales por separado, y no como parte de un mapa de estilo WMS.

Eso será cubierto en la siguiente lección, sin embargo. Primero, añade otra capa WMS del servidor terrestris.

10.1.2. basic Try Yourself

  1. Hide the OSM-WSM layer in the Layers panel.

  2. Add the «ZAF CGS 1M Bedrock Lithostratigraphy» WMS server at this URL: http://196.33.85.22/cgi-bin/ZAF_CGS_Bedrock_Geology/wms

  3. Load the BEDROCKGEOLOGY layer into the map (you can also use the Layer ‣ Add Layer ‣ addWmsLayer Add WMS/WMTS Layer… button to open the Data Source Manager dialog). Remember to check that it’s in the same WGS 84 / World Mercator projection as the rest of your map!

  4. You might want to set its Encoding to JPEG and its Tile size option to 200 by 200, so that it loads faster:

    ../../../_images/bedrock_geology_layer.png

Comprueba tus resultados

10.1.3. moderate Try Yourself

  1. Hide all other WMS layers to prevent them from rendering unnecessarily in the background.

  2. Add the «OGC» WMS server at this URL: http://ogc.gbif.org:80/wms

  3. Añade la capa bluemarble.

Comprueba tus resultados

10.1.4. hard Try Yourself

Parte de la dificultad del uso de WMS es encontrar un servidor bueno (y gratuito).

  • Find a new WMS at directory.spatineo.com (or elsewhere online). It must not have associated fees or restrictions, and must have coverage over the Swellendam study area.

    Recuerda que lo que necesitas para utilizar un WMS solo es su URL (y preferiblemente algún tipo de descripción).

Comprueba tus resultados

10.1.5. In Conclusion

Utilizando un WMS puedes añadir mapas inactivos como fondo para tu mapa de datos existente.

10.1.7. What’s Next?

Ahora que has añadido un mapa inactivo como fondo, te alegrará saber que también es posible añadir elementos (como las otras capas vectoriales que añadiste antes). Añadir elementos de servidores remotos es posible utilizando un Web Feature Service (WFS). Ese es el tema de la siguiente lección.