Lizmap web client

Pubblicare un progetto QGIS con Lizmap: i fondamenti

Per chi usa QGIS, la soluzione più semplice ed efficace per pubblicare sul web i propri progetti, mantenendo: la stessa organizzazione dei layer, il loro stile grafico, le etichette, i modelli di stampa, … etc … etc, è certamente Lizmap web client. Bastano poche impostazioni  tramite l’apposito plugin, quindi trasferire o copiare il file progetto e le relative risorse (geodati, stili, immagini, … etc) in una cartella del web server, è il gioco è fatto! In questo articolo vediamo quali sono i passi fondamentali da seguire per arrivare con facilità al risultato finale.

Diamo per scontato che sul computer con il web server, ci sia già installato anche QGIS server e Lizmap web client; chi eventualmente non l’avesse ancora fatto può leggersi questo nostro precedente articolo. Inoltre per qualunque altra informazione, fate riferimento al sito ufficiale della documentazione di Lizmap. Qui vi segnaliamo soltanto che al momento la versione più recente è stabile di Lizmap (sempre preferibile usare) è la 3.3 e la potente scaricare da questo indirizzo: github.com/3liz/lizmap-web-client .

Preparare il progetto QGIS

Usando QGIS (sottinteso la versione desktop) prepariamo i layer vettoriali, raster e le basemaps che vogliamo pubblicare sul web, nei modi che già conosciamo per definirne: i nomi, l’ordine, l’eventuale raggruppamento, lo stile grafico dei vettori, le etichette descrittive e così via.

Poichè ci stiamo riferendo a Lizmap 3.3 che richiede l’uso di QGIS server 3.4 LTR , anche se la versione desktop con la quale si preparano i progetti non è correlata direttamente al server, è comunque consigliabile usare almeno  QGIS 3.4. Usando versioni più vecchie la compatibilità con Lizmap 3.3 o superiore, non è garantita.

Lizmap e QGIS versions

In linea di principio tutti i tipi di formato raster (geoTIF, grid, ASC, …) e vettoriale (shapefile, geoJSON, spatialite, postGIS, …) supportati da QGIS, dovrebbero essere visualizzati senza problemi anche da Lizmap. Abbiamo sentito di casi in cui, con alcuni formati meno comuni c’è qualche difficoltà, ma sicuramente limitandosi solo ai tipi  più diffusi, è tutto regolare.

Tra i layer del progetto, è possibile inserire anche  georisorse remote ovvero fornite da altri server di mappa web; per capirci meglio si possono anche includere layer:

  • tiled basemaps  come quelle di OSM, Google, ESRI, CartoDB, Stamen, … etc; sono quelle mappe che in QGIS 3 sono individuate tra le risorse come XYZ Tiles oppure quelle disponibili tramite il noto plugin QuickMapServices;
  • WMS/WMTS, WFS e WCS  come per esempio i servizi di rete del Geoportale Nazionale.

Quando il progetto verrà pubblicato con Lizmap, anche questi layer saranno disponibili e visualizzabili come gli altri derivanti da file e geoDB locali. L’unica differenza è che, trattandosi di layer remoti, se i servizi che li forniscono sono fuori-servizio o molto lenti, ovviamente non verranno visualizzati o visualizzati male.

Per quanto riguarda il CRS (Sistema di Riferimento ovvero EPSG) dei diversi layer che compongono il progetto, certamente sapete che con QGIS 3 la riproiezione al volo  è sempre attiva di default. Ciò vuol dire che anche se questi CRS sono diversi,  QGIS 3 li riproietta automaticamente usando il CRS scelto per il progetto. Questo implica che, anche con Lizmap web client non ci sarà alcun problema nel rappresentare sul web, nella stessa mappa, layer che hanno CRS differenti.

CRS progetto QGIS

Se possibile, è comunque consigliabile che tutti i layer di un progetto abbiano lo stesso CRS; la riproiezione al volo infatti non è sempre precisissima e perciò può introdurre degli errori (deformazioni) di rappresentazione geo-spaziale.

Una volta  completata la preparazione di tutti i layer e degli eventuali layout di stampa, dobbiamo salvare il progetto dandogli un titolo ed impostando un salvataggio dei percorsi di tipo relativo. Attenzione che se si sceglie un salvataggio con percorsi di tipo “assoluto”, quando si pubblica il progetto con Lizmap (vedremo che bisogna spostare tutto in una cartella del sistema web server) tutti i riferimenti non funzionerebbero più.
Queste operazioni si effettuano nel quadro “generale” delle proprietà del progetto.

proprietà èprogetto

Una cosa importante: quando salviamo il progetto, nonostante con QGIS 3 i file di progetto hanno il nuovo formato .qgz, dobbiamo ancora usare il vecchio formato .qgs (si può ancora scegliere quando si salva il file). Infatti ad oggi Lizmap non gestisce  i progetti .qgz (non li vede proprio); è probabile che in futuro saranno supportati anche questi.

Sempre nelle proprietà del progetto, possiamo dare altre impostazioni e inserire informazioni, in particolare:

  • le opzioni per QGIS server (con QGIS 2.x  erano indicate come OWS server)
  • i metadati;

Ricordiamo che Lizmap è un client di QGIS server, quindi l’impostazione delle relative opzioni è molto importante per il suo comportamento. Abbiamo innanzitutto le opzioni generali (capabilities) del servizio che sono di tipo informativo e vengono restituite ad un client che effettua una richiesta WMS, WFS o WCS.

Cosa vogliamo indicare e cosa no lo scegliamo noi; certamente almeno il titolo  va indicato (può coincidere o no col titolo del progetto  nelle proprietà generali). Tra l’altro questo “titolo” è lo stesso con cui verranno identificati i progetti nella homepage di Lizmap.

QGIS server proprietà

Poi abbiamo le impostazioni dei diversi servizi OGC con cui i layer del progetto possono essere trasmessi sul web: il WMS/WMTS per tutti i tipi di layer, il WFS per i layer vettoriali, il WCS per i layer raster. Sono opzioni molto importanti con le quali in particolare si può decidere quali layer pubblicare e quali no (anche quali layout di stampa). Qui non ci dilunghiamo oltre, eventualmente potete leggere anche questo articolo: QGIS server: impostazioni OWS.

Anche i metadati sono molto utili quando si mettono in rete dei dati geospaziali; essi consentono di specificare tutte quelle informazioni che non è possibile includere nel dato spaziale (mappa o vettoriale) e che però servono per: ricercarlo, sapere da chi è stato creato e come, sapere come recuperarlo, capire come può essere usato, …. etc. La direttiva europea 2007/2/CE INSPIRE ha pubblicato delle linee guida tecniche su come vanno organizzati e compilati i metadati territoriali.

Le impostazioni per Lizmap

Come abbiamo già scritto in questo articolo, l’utilizzo di Lizmap web client è collegato ad un apposito plugin che va installato su QGIS desktop e serve appunto per definire come il progetto sarà gestito e visualizzato in Lizmap e quali comandi saranno disponibili nella sua interfaccia utente.

Con il rilascio di QGIS 3 è stato ovviamente aggiornato anche il plugin (che si installa come qualunque plugin di QGIS) e ad oggi siamo alla versione 3.1.7.

plugin Lizmap

Dopo che il plugin viene installato, si trova la sua voce sotto il menù “Web” e nella sua nuova versione è organizzato in più quadri come mostra la seguente figura.

plugin Lizmap impostazioni

Notiamo innanzitutto in basso a sinistra un piccolo avviso in azzurro che avverte in merito alle opzioni che si possono usare solo con la versione di Lizmap web client 3.3 (o successive).

Vediamo quindi quali sono le impostazioni minime consigliate per preparare il nostro progetto, partendo dal quadro iniziale delle opzioni mappa. Volendo, in questo quadro, possiamo lasciare tutto com’è e non cambiare nulla, ma personalmente vi consiglio di modificare almeno le scale ovvero i livelli di zoom, perché quelle proposte sono poche e sopratutto perchè la scala minima 10000 (che significa1:10000) che è troppo grande.

Tenete conto che quanto più piccola è la scala tanto più alto è il livello di zoom; quindi allora una migliore sequenza di valori può essere questa: 2000, 5000, 10000, 20000, 25000, 50000, 100000, 250000, 500000.

Poi se vogliamo,  abilitiamo gli strumenti di mappa (stampa, strumenti misura, cronologia zoom, … etc) in modo che siano disponibili nell’interfaccia di Lizmap (di default non ci sono). E ancora,  possiamo anche fissare qual’è l’estensione iniziale della mappa.

Un altro quadro di impostazioni da controllare è quello dei Layers, dove troviamo l’elenco dei layers  (tutti i tipi e formato) del nostro progetto. Per ognuno di essi possiamo indicare: i metadati, come rappresentarlo nella legenda, eventuale popup informativo, il formato immagine (map options), la gestione della cache nel caso di tiles.

lizmap layers setting

Anche in questo caso, possiamo lasciare tutto com’ è di default; magari conviene che almeno i metadati  (titolo, descrizione, eventuale URL di metadati esterni) vengano specificati.

Oltre alle eventuali basemaps che includiamo come layer nel nostro progetto QGIS, possiamo specificare quelle che Lizmap rende disponibili autonomamente nella sua interfaccia. Per farlo c’è il quadro Layer di base che consente di scegliere le mappe di alcuni tiles provider.

Lizmap basemaps

Solo le mappe di OSM sono liberamente accessibili, mentre quelle degli altri provider (Google, Bing, … etc) richiedono una “chiave” che è possibile ottenere registrandosi presso di essi.

Ci fermiamo qui visto che, per il minimo corretto funzionamento di Lizmap, possiamo tralasciare le opzioni dei rimanenti quadri. Naturalmente non si tratta di opzioni “inutili” e probabilmente, quando acquisirete maggiore dimestichezza e vi serviranno altre funzionalità, dovrete usarle.

Ma prima di chiudere il plugin, ricordatevi di premere il tasto Applica  ( e solo dopo Chiudi) altrimenti tutte le opzioni che avrete impostato saranno inefficaci.

Lizmap applica

Come risultato, nella stessa cartella in cui si trova il file .qgs del vostro progetto, verrà generato un file di configurazione che ha lo stesso nome ed estensione .cfg. Per esempio se il file di progetto si chiama pippo.qgs  il file generato si chiamerà pippo.qgs.cfg. E’ un file di testo (se volete potete leggerlo con un qualunque  text editor) che verrà interpretato da Lizmap web client comportandosi di conseguenza. Se dovesse mancare o essere danneggiato, Lizmap non vede neanche il progetto.

Pubblicare il progetto

Siamo finalmente pronti per pubblicare il nostro progetto sul web tramite Lizmap web client. Se Lizmap è già installato e funzionante (nel sistema dove c’è il web server e QGIS server)), l’operazione da fare è molto semplice:

bisogna spostare o copiare il progetto .qgs, il file di configurazione .cfg e tutti gli altri file (dati vettoriali, immagini, mappe, stili, layout di stampa, … etc) che sono richiamati nel progetto, in una cartella del sistema web server che sia un repository di Lizmap, mantenendo inalterata la loro posizione relativa.

Vediamo di capire meglio cosa significa questa operazione partendo dal concetto di “repository”. Lizmap web client infatti è organizzato in repository, ed ognuno di essi può contenere uno o più progetti .qgs.  Quando apriamo Lizmap nella sua homepage compaiono tutti i repository  che sono stati definiti (vedremo tra un pò che dipende anche da chi è autorizzato a vederli) e per ognuno i progetti che esso contiene.

Lizmap homepage

Un repository è essenzialmente una qualunque cartella (o directory) del sistema, che viene definito e configurato con l’apposita funzione presente nell’nterfaccia di amministrazione di Lizmap.

Naturalmente un repository, per funzionare deve contenere almeno un progetto .qgs completo (si intende con tutti i suoi file) altrimenti risulta vuoto e anche se configurato, nella homepage di Lizmap non compare.

Possiamo definire come repository una cartella  quando ancora è vuota, oppure dopo che contiene già uno o più progetti QGIS. Non fa alcuna differenza.

Come abbiamo detto all’inizio, i progetti vengono preparati con QGIS e poi devono essere spostati o copiati dentro un repository di Lizmap. Si tratta di un’operazione semplice ma che a volte risulta poco chiara!

Un progetto QGIS può essere preparato e configurato in qualunque altra directory e in qualunque altro computer, indipendentemente da dove si trova installato Lizmap web client. L’importante è che, come  già detto, la versione di QGIS adoperata sia compatibile con quella di QGIS server e Lizmap.

Se leggete la documentazione ufficiale di Lizmap, si parla di pubblicazione tramite FTP e questo a volte confonde i meno esperti. Naturalmente questo ha senso quando il sistema col web server e QGIS server è “remoto” (per esempio è un servizio fornito da un web provider) e quindi per caricarvi dentro dei file, bisogna usare un protocollo di trasferimento di rete come è appunto l’ FTP.

Ma se invece il sistema del web server è fisicamente raggiungibile, è ovvio che potete metterci file del progetto in qualunque altro modo preferite, per esempio copiandoli in un pendrive USB.

pubblicare con Lizmap

Se poi addirittura  preparate i progetti nello stesso sistema, ovvero in esso c’è installato QGIS server ed anche QGIS, allora potete spostare/copiare i file molto banalmente con gli strumenti tipici del file system. Volendo potete pure lasciare il progetto  nella sua cartella originale e configurare questa come un repository di Lizmap.

Anche se fin ad ora non l’abbiamo scritto esplicitamente, per facilitare queste operazioni di spostamento o copia (è preferibile la copia, cioè lasciare i file originali dove si trovano) è bene che il progetto .qgs e tutti i suoi file, siano contenuti in una stessa cartella, magari organizzandoli in sotto-cartelle. Infatti ricordiamo che il loro spostamento/copia in un repository di Lizmap, deve avvenire mantenendo inalterate le posizioni relative originali di tutti i file.

Altra cosa da evidenziare riguarda l’immagine “miniatura” con cui  i progetti vengono rappresentati nella homepage di Lizmap; anche se ogni progetto è chiaramente identificato col suo titolo (è quello che è stato indicato nelle proprietà di QGIS server) questa miniatura può aiutare l’utente a identificare subito un progetto (specie se ce ne sono tanti).

Lizmap icone progetto

Lizmap associa ad ogni progetto di default la stessa miniatura (un mappamondo grigio come quello che vedete nella figura sopra). Quindi se volete mettere una vostra miniatura personalizzata, basta che nella cartella del  repository salviate questa come immagine PNG con lo stesso nome del progetto: se il progetto si chiama pippo.qgs allora l’immagine si deve chiamare pippo.qgs.png.

N.B. Ogni volta che effettuiamo delle modifiche o aggiornamenti di qualunque tipo nel progetto originale, bisogna ricordarsi di:

  1. salvare il progetto .qgs;
  2. rieseguire il plugin di Lizmap per consentire l’aggiornamento del file di configurazione .cfg;
  3. ricopiare nuovamente tutti i file del progetto (o almeno quelli cambiati) dentro il repository di Lizmap (sincronizzazione).

Creazione e modifica di un repository

Per configurare una qualunque cartella come repository di Lizmap, abbiamo detto prima  che bisogna entrare nella sua interfaccia di amministrazione  (ovviamente con le credenziali di amministratore) e poi nella pagina Lizmap configuration. Questa pagina è organizzata in due sezioni, Services e Repository, che sono in sequenza quindi per vedere la sezione  “Repository” dovete scendere giù.. All’inizio trovate subito il bottone per creare un nuovo repository e poi elencati, uno dopo l’altro, tutti i repository già esistenti.

Lizmap repository config

Obbiettivamente questa disposizione sequenziale sia delle sezioni che poi dei repository con le rispettive voci/opzioni, non è molto agevole perché costringe l’utente a scorrere giù e sù  per la pagina. Probabilmente migliorare quest’interfaccia (per es.  con un menù ad albero e/o sottosezioni con i gruppi di opzioni) faciliterebbe sia le operazioni di configurazione che anche la lettura ed il controllo dei valori già impostati.

Premendo l’apposito bottone Create a repository si apre la finestra in cui bisogna inserire i parametri identificativi essenziali di un repository:

  • id : un valore alfanumerico (senza spazi e caratteri speciali) che deve essere univoco tra tutti i repository presenti nel sistema;
  • label : una etichettà o nome del repository, che poi è quello che compare nella homepage;
  • local folder path: è il percorso della cartella del sistema che contiene i progetti del repository;

a proposito del percorso, questo può essere “assoluto” oppure “relativo” rispetto alla cartella in cui è installato Lizmap web client; in ogni caso se indicate un percorso sbagliato o inesistente il sistema vi avverte.

crea repository Lizmap

Una checkbox  abilita per il repository la possibilità di definire un tema ad hoc per tutti i progetti in esso contenuti o singolarmente per ognuno di essi. Qui non ne parleremo, comunque Lizmap permette di cambiare il tema, ovvero l’aspetto grafico della sua interfaccia utente, definendone uno proprio personalizzato (creare temi semplici).

Dopo aver salvato questi dati (con il tasto Save) si apre un’altra finestra che permette di definire o modificare le operazioni consentite per il repository in base ai diversi tipi di utente:

  • view projects in the repository : poter visualizzare i progetti (layer, mappe, … etc) pubblicati;
  • display projects WMS links : se dentro il progetto ci sono layer WMS, poter vedere l’URL del servizio;
  • use the edition tool : poter usare gli strumenti di editing con i layer dei progetti;
  • allow export of layers : poter esportare i layer dei progetti;
  • always see complete layer data even if filtered by login : poter vedere tutti i dati dei layer anche se è stato predisposto un filtro (Lizmap consente di impostare dei filtri, per oscurare a secondo dell’utente alcuni dei dati pubblicati).

modifica permessi repo Lizmap

I tipi o gruppi di utente che troviamo in queste impostazioni sono quelli predefiniti che vengono creati con l’installazione di Lizmap:

  • anonymus : chiunque, ovvero l’ utente generico che non si autentica (non fa login);
  • intranet demos group : se quando avete installato Lizmap avente incluso anche i progetti demo, è il gruppo di utenti che può gestire e vedere questi progetti;
  • admins : è il gruppo degli amministratori, cioè coloro che hanno i permessi di fare tutto;
  • lizadmins : in pratica è un sottogruppo di amministratori, cioè con un sottoinsieme di privilegi;
  • users : sono gli utenti comuni che però si autenticano (fanno login)

La gestione degli utenti e dei gruppi di utenti in Lizmap è molto articolata ed efficiente. Sempre nell’interfaccia di amministrazione, troviamo  le funzioni per registrare/cancellare utenti, definire/rimuovere gruppi e fissarne i diritti (cioè le operazioni consentite), ma qui non ne parliamo.

Se volete conoscere in dettaglio quali sono i permessi (rights) di questi gruppi predefiniti, scegliete la voce Rights of users e vi compare un elenco di utenti (solo quelli registrati predefiniti) con il corrispondente gruppo di appartenenza. Cliccando sul bottone “rights” vedrete quali sono i relativi permessi.

Lizmap user rights

Tornando al nostro repository, una volta che abbiamo completato l’assegnazione dei permessi ai vari gruppi, salviamo e abbiamo finito.

Lizmap repository

Visualizzazione del progetto in Lizmap

Supponiamo che il nostro progetto QGIS si chiami “spoleto” (questo è il titolo che è stato specificato nelle proprietà di QGIS server) e che lo abbiamo caricato dentro il repository che si chiama “Esercitazione classe 21” (quello prima creato come esempio con id=eserc21). Allora aprendo Lizmap (nel browser) nella sua homepage troveremo:

Lizmap homepage

ci sono anche altri progetti (aidone, belvedere) perché erano già stati caricati prima nello stesso repository.

Bene, cliccando sulla miniatura del progetto oppure sul bottone Load the map, ci appare finalmente l’interfaccia con la mappa, l’elenco dei layer del nostro progetto e tutti gli altri strumenti previsti di default nell’interfaccia di Lizmap ed anche gli altri eventuali che avevamo abilitato con il plugin di Lizmap in QGIS.

Lizmap interfaccia navigazione principale

E qui ci fermiamo perché l’obiettivo di questo articolo era quello spiegare solo i passi essenziali per pubblicare un progetto QGIS con Lizmap.

Ma naturalmente Lizmap consente molto altro e ci sono  tante caratteristiche e potenzialità da scoprire. Se volete potete cimentarvi anche voi da soli e fare delle prove per testare (guardando anche il manuale di Lizmap) le tante possibilità offerte da questo elegante web client. Noi sicuramente torneremo sull’argomento  dedicando a Lizmap altri futuri articoli.

se questo articolo ti è piaciuto condividilo: