Salta el contingut

Crear servicio WMS (Proyecto QGIS)

El administrador del geoportal permite crear un WMS directamente desde un proyecto de QGIS. Para hacerlo, seguiremos los siguientes pasos:

  1. Abrir el QGIS v3 y cargar los datos que queremos representar en el WMS.
  2. Símbolizar los datos correctamente según el motor del propio QGIS.
  3. Agregar tantas capas como necesitemos. Cada capa del QGIS será una capa en el WMS. Solo podemos agregar capas desde una conexión a una base de datos y siempre y cuando hayamos guardado la contraseña en el archivo de proyecto.
  4. Guardar el proyecto de QGIS en nuestro ordenador (con extensión *.qgs).
  5. Desde el administrador del Geoporal, acceder a Inici › Gestor de projectes QGIS › Serveis.
  6. Agregar un nuevo servicio desde el botón superior derecho.
  7. Configurar las opciones generales de la capa: Información, propiedades de las capas.
  8. Cargar el proyecto de QGIS creado desde la opción Fitxer del projecte.
  9. Crear la nueva capa desde el botón inferior derecho: Desar.

Información

El Geoportal solo soporta el formato de proyecto de QGIS .qgs y no la versión comprimida .qgz.

Captura de pantalla

Ejemplo proyecto QGIS

WMS GetFeatureInfo habilitat

Para que el servicio WMS sea interactivo, o sea, que se abra un Popup con datos cuando se haga clique una geometría de la capa, se debe activar la opción: WMS GetFeatureInfo habilitado.

Si queréis que la geometría seleccionada se resalte una vez clicada hay que configurar el proyecto de QGis para que retorne la geometría. Para hacerlo, abrid las propiedades del proyecto (Project > Project Properties), id a Servidor de QGis y finalment a la pestaña WMS. Activad la opción Añadir geometría a la respuesta del objecto.

Screenshot

Si consumimos el servicio desde el Geoportal de Mapia, podemos configurar el Popup de los campos de cada capa mediante código HTML de manera similar al caso de las capas GeoJSON.

Un proyecto de QGIS permite cargar varias capas a la vez y será necesario definir un “código” que mezcle HTML y JavaScript.

Información

El HTML se escribe normalmente, la parte de JavaScript ejecutable se escribe delimitándola con “<%” y “%>” y la parte de JavaScript que recoge valores se escribe delimitándola con “<%-” y “%>”.

A continuación, hay un ejemplo de cómo configurar el Popup:

<% nombre_de_la_capa.forEach(item => { %>
<div class="item">
    Id: <%- item.field1 %>
    Código LIC: <%- item.field2 %>
</div>
<% }) %>

Configuraciones específicas

  • Si deseamos que el Geoportal no muestre el popup al hacer clic o solo mostrar algunos campos determinados, es necesario configurar las opciones WMS desde las capas del propio QGIS.

Captura de pantalla

  • Los WMS de QGIS se pintan en forma de teselas (tiles) por defecto. Si algunas etiquetas aparecen cortadas, podemos modificar el tamaño del buffer por defecto activando la opción buffer activo y estableciendo el Tamaño del buffer a 128, 128 o 256, 256.
  • Podemos mejorar la calidad resultante modificando el tamaño de las teselas a 512, 512.
  • Podemos modificar los nombres de los campos que aparecerán en el popup creando un alias en la edición del formulario predeterminado en la capa de QGIS.
  • Si accedemos a las propiedades principales del proyecto de QGIS (menú Project > Properties), en la pestaña QGIS Server podemos configurar la información que se mostrará conjuntamente con el servicio WMS:
    • Información del proveedor.
    • Permisos.
    • Sistemas de coordenadas aceptados.

Captura de pantalla

Recursos del proyecto

Si el proyecto de QGIS que queremos cargar dispone de recursos externos como iconos, capas en SHP, geopackage, etc., podemos cargar el proyecto comprimido en un archivo ZIP.

El archivo de proyecto de QGIS no guarda los datos cargados en el propio archivo. Cuando se abre un proyecto, QGIS busca la capa vinculada, lee los datos y los carga en la aplicación. Es por esto que, si nuestro proyecto no obtiene los datos de una base de datos, también deberemos cargar estos archivos externos en el Mapia SERVER. Para hacerlo, es necesario comprimir en un ZIP el archivo de proyecto de QGIS y los datos vinculados.

Captura de pantalla

¡IMPORTANTE!: El nombre del archivo de proyecto de QGIS, el nombre de la capa del Mapia SERVER y el nombre de la carpeta ZIP deben ser iguales (Nombre capa = nombre proyecto.qgs = nombre carpeta comprimida.zip).

Captura de pantalla

Información

Para cargar recursos externos, es necesario montar el proyecto de QGIS con capas con rutas relativas, es decir, el elemento padre debe ser el propio proyecto y los recursos vinculados deben estar en la misma carpeta o subcarpetas de la carpeta donde tenemos el proyecto de QGIS.

Ruta del servicio

Una vez creado el servicio, podemos obtener la ruta directamente desde el listado de servicios: Inici › Gestor de capes ràster › Serveis


Captura de pantalla

Test del servicio

Podemos comprobar que el servicio se está ejecutando correctamente desde la opción “ver mapa” una vez en el formulario de edición del servicio.


Captura de pantalla