Salta el contingut

Crear servei WMS (Projecte QGIS)

L’administrador del geoportal permet crear un WMS directament des d’un projecte de QGIS. Per fer-ho realitzarem el següent:

  1. Obre el QGIS v3 i carregar les dades que volem representar en el WMS
  2. Simbolitzar les dades correctament segons el motor del propi QGIS
  3. Afegir tantes capes com necessitem. Cada capa del QGIS serà una capa al WMS. Només podem afegir capes des d’una connexió a una base de dades i sempre i quan haguem guardat la contrasenya en el fitxer de projecte.
  4. Guardar el projecte de QGIS al nostre ordinador (amb extensió *.qgs)
  5. Des de l’administrador del Geoporal Inici › Gestor de projectes QGIS › Serveis
  6. Afegir nou servei es del botó superior dreta
  7. Configurar les opcions generals de la capa: Informació, propietats de les capes
  8. Carregar el projecte de QGIS creat des de la opció Fitxer del projecte
  9. Crear la nova capa des del botó inferior dret: Desar

Informació

El Geoportal només suporta el format de projecte de QGIS .qgs i no la versió comprimida .qgz

Screenshot

Exemple projecte QGIS

WMS GetFeatureInfo habilitat

Per fer que el servei WMS sigui interactiu, és a dir, retorni dades quan es faci click a una geometria de la capa, s’ha d’activar l’opció: WMS GetFeatureInfo habilitat.

Si voleu que la geometria seleccionada es ressalti un cop clickada cal configurar el projecte de QGis per tal de que retorni la geometria. Per fer-ho, obriu les propietats del projecte (Project > Project Properties), aneu a Servidor de QGis i finalment a la pestanya WMS. Activeu l’opció Afegir geometria a la resposta de l’objecte.

Screenshot

Si el servei el consumim des del Geoportal de Mapia, podem configurar el Popup dels camps de cada capa mitjançant codi HTML de manera similar al cas de les capes GeoJSON.

Un projecte de QGIS permet carregar diverses capes alhora i caldrà definir un “codi” que barreja HTML i JavaScript.

Informació

L’HTML s’escriu normal, la part de JavaScript executable s’escriu delimitant-la amb “<%” i “%>” i la part de JavaScript que recull valors s’escriu delimitant-la amb “<%-” i “%>”.

A continuació hi ha un exemple de com configurar el Popup:

<% layer_name.forEach(item => { %>
<div class="item">
    Id: <%- item.field1 %>
    Codi LIC: <%- item.field2 %>
</div>
<% }) %>

Configuracions específiques

  • Si volem que el Geoportal no mostri el popup al fer click o només mostrar uns camps determinats cal click cal configurar les opcions WMS des de les capes del propi QGIS

Screenshot

  • Els WMS de QGIS es pinten tessel·lats per defecte, si algunes etiquetes apareixen tallades cal modificar la mida del buffer per defecte activant la opció buffer actiu i la Mida del buffer a 128,128 o 256,256.
  • Podem millorar la qualitat resultant modificant la mida de les tessel·les a 512,512
  • Podem modificar els noms dels camps que apareixeran al popup creant un alies en l’edició del formulari predeterminat en la capa de QGIS.
  • Si accedim a les propietats principals del projecte de QGIS (menú Project > Properties), en la pestanya QGIS Server podem configurar la informació que es mostrarà conjuntament amb servei WMS:
    • Informació proveïdor
    • Permisos
    • Sistemes de coordenades acceptats

Screenshot

Recursos del projecte

Si el projecte de QGIS que volem carregar disposa de recursos externs com icones, capes en SHP, geopackage… podem carregar el projecte comprimit amb ZIP.

El fitxer de projecte de QGIS no guarda les dades carregades en el propi fitxer, quan s’obre un projecte, el QGIS busca la capa vinculada, llegeix les dades i les carrega a l’aplicació. Es per això, que si el nostre projecte no estira les dades d’una base de dades, cal carregar al MapiaSERVER també aquests fitxers externs. Per fer-ho, cal comprimir en un zip, el fitxer de projecte de QGIS i les dades vinculades.

Screenshot

IMPORTANT!!: El nom del fitxer del projecte de QGIS, el nom de la capa del MapiaServer i el nom de la carpeta ZIP ha de ser el mateix (Nom capa = nom projecte.qgs = nom carpeta comprimida.zip)

Screenshot

Informació

Per carregar recursos externs cal muntar el projecte de QGIS amb capes amb rutes relatices, es a dir, l’element pare ha de ser el propi projecte i els recursos vinculats han d’estar en la mateixa carpeta o subcarpetes de la carpeta on tenim el projecte de QGIS.

Ruta del servei

Una vegada creat el servei, podem obtenir la ruta directament des el llistat de serveis: Inici › Gestor de capes ràster › Serveis


Screenshot

Test servei

Podem comprovar que el servei s’està executant correctament des de l’opció veure mapa una vegada en el formulari d’edició del servei.


Screenshot