Introduzione

Il tutorial è basato su un progetto QGIS dedicato alla gestione di un layer rappresentante una serie di edifici dislocati sul territorio.

Oltre agli aspetti geografici il progetto prevede la gestione di numerosi e diverisficati attributi e di eventauli interventi di manutezione tramite una relazione di tipo 1:n

Tramite questo tutorial sarà possibile:

  • personalizzare i vari aspetti grafici-funzionali del progetto demo

  • pubblicare il progetto come servizio WebGis

  • creare ricerche personalizzate

  • add plots made with DataPlotly QGIS plugin

  • attivare la funzionalità di editing personalizzando form e widget associati

_images/demo_qgis_project.png

_images/demo_webgis_project.png

Scaricare i dati di demo

The tutorial is based on predefined data and QGIS 3.10 LTR project downloadable from this link.

Il file .zip contiene una directory G3W-SUITE con due sub-directory:

  • projects: contenente un progetto QGIS (buildings_management.qgz) già ottimizzato per il tutorial

  • project_data/spatialite: contenente un DB SpatiaLite con i dati di base (build_management.sqlite)

_images/demo_zip_file.png

All”interno del DB SpatiaLite build_management.sqlite sono presenti i seguenti layer:

  • buildings (layer poligonale): layer di riferimento per gli aspetti di editing

  • maintenance_works (tabella alfanumerica): con gli interventi di manutenzioni associati ai singoli edifici

  • roads (layer lineare): una semplice rete stradale

  • work_areas (layer poligonale): con la perimetrazione di aree di lavoro da utilizzare per definire eventuali geo-constraints

IMPORTANTE: per il corretto funzionamento della demo, una copia dei dati geografici è presente sul server. La modifica dei dati potrebbe ripercuotersi sulla pubblicazione del progetto

Il progetto (realizzato con QGIS LTR 3.10) prevede:

  • una vestizione categorizzata dal layer buildings basata sul campo categorico type

  • la presenza di una relazione 1:n tra il layer buildings e la tabella alfanumerica maintenance_works

  • query form prestutturati per il layer buildings e la tabella maintenance_works

  • widget di editing predefiniti per i campi dei due layer principali: buildings e maintenance_works

  • two standard print layout in A4 and A3 and an atlas print layout based on buildgs layer features

_images/demo_qgis_project.png

Modificare il titolo del progetto QGIS

Il sistema di pubblicazione prevede l”utilizzo del titolo del progetto come identificatore univoco del servizio WebGis

*Per questo, prima di pubblicare i progetto sarà quindi necessario modificare il titolo associato al progetto base (Progetto -> Proprietà... - Sessione: Generale)

_images/qgisserver_change_title.png

Accedere al servizio on line

To publish the project, you can access the G3W-SUITE test application via the following URL: https://v31.g3wsuite.it

Per accedere al Pannello di Amministrazione è necesario loggarsi tramite le seguenti credenziali:

  • user: demo

  • password: G3wsuite!

In caso di problemi di login segnalaci il problema ad info@gis3w.it

Pubblicare il progetto QGIS come servizio WebGis

In seguito ad autenticazione sarà possibile accedere alla Sessione di Amministrazione e visualizzare la Dashboard.

Nella Dashboard sarà presente il menù per l”accesso ai Gruppi Cartografici di competenza del vostro utente e i menù relativi ad ulteriori moduli non attivi in questa demo.

Clicca sulla voce Mostra nella casella celeste Gruppi per accedere all”elenco dei Gruppi Cartografici disponibili.

_images/demo_dashboard.png

Accedi all”elenco dei webgis presenti nel Gruppo Cartografico G3W-SUITE Demo facendo click sul numero di progetto riportato.

_images/demo_choose_group.png

_images/demo_project_manage.png

Ora clicca sul pulsante _images/button_add_qgis_project.png per pubblicare il tuo progetto QGIS.

Compilate il form definendo i vari aspetti da associare al servizio WebGis in pubblicazione:

Progetto QGIS

File QGIS*: caricare il progetto cartografico di QGIS da pubblicare (file .qgz o .qgs)

ACL Users

Gestione poteri di accesso e gestione

  • Utenti Viewers: si definiscono i singoli utenti (Viewers) che hanno le credenziali per visualizzare il servizio WebGis. Scegliendo l”utente anonimo (AnonymusUser) il gruppo sarà ad accesso libero

  • Gruppi di utenti Viewer: si definiscono i gruppi di utenti (Viewer) he hanno le credenziali per visualizzare il contenuto del servizio.

BaseLayer

In questa sessione si va a definire quale base layer deve essere attivo all”avvio.

La scelta è limitata alla lista degli strati di base attivati per il gruppo cartografico nel quale si lavora.

E” possibile anche non definire nessun strato di base attivo all”avvio.

Descrizione

  • Titolo pubblico: Titolo da associare al progetto e visualizzato sull”header del client.Se lasciato vuoto verrà utilizzato il titolo associato al progetto QGIS o, in mancanza di questo, il nome del file di progetto

  • Descrizione: descrizione libera del progetto che apparirà a livello del portale pubblico.

  • Thumbnail (Logo): logo da associare al progetto. Tale immagine sarà visibile in associazione con il progetto

  • URL alias: E” possibile impostare un alias per la parte finale dell”URL della mappa.

ATTENZIONE: contenuti segnati con asetrisco sono obbligatori

Options and actions

  • User QGIS project map start extent as webgis init extent: check this control if you want set initial extent from QGSI project initial extent

Otherwise the initial extension will correspond to the maximum one defined on the basis of the extension associated with the WMS capabilities of the QGIS project (Project properties -> QGIS Server -> WMS capabilities (Advertised extent))

The next options allow you to define the type of WMS / WFS query to be carried out and the maximum number of results obtainable following a query.

  • Max feature to get for query*: max number of feature to get for single or multiple mode

  • Query control mode*: single or multiple

  • Query by bbox control mode*: single or multiple

  • Query by polygon control mode*: single or multiple

_images/g3wsuite_administration_project_add_option.png

Compilati i campi di interesse si clicca sul tasto Salva per confermere la pubblicazione

_images/buttom_save.png

Se la pubblicazione è andata a buon fine il progetto QGIS apparirà nell”elelnco dei progetti presenti nel Gruppo Cartografico

Cliccando sull”icona Visualizza mappa si accederà al servizo WebGis in consultazione.

_images/demo_webgis_project.png

Aggionare il servizo WebGis pubblicato

Se volete modificare alcuni aspetti grafico-funzionali del vostro servizio WebGis, modificate il vostro progetto QGIS e aggiornate il servizio WebGis cliccando sull”icona Modifica _images/iconsmall_edit.png

Nel form visualizzato ricaricate il progetto QGIS con le vostre modifiche e cliccate sul tasto Salva

Attivazione funzioni aggiuntive

Una volta che il tuo progetto è stato pubblicato, puoi accedere all”elenco dei widget e funzioni aggiuntive per arricchire il tuo servizio WebGis.

Gestione widget

Per accedere alla gestione delle funzioni aggiuntive cliccate sull”icona Lista Layers _images/iconsmall_layerlist.pnga livello del vostro progetto QGIS

_images/demo_project_manage.png

La nuova sessione mostrerà la lista dei layer presenti nel progetto QGIS pubblicato

_images/g3wsuite_administration_project_layer_list.png

  • Etichetta: alias del layer applicata a livello di progetto QGIS

  • Name: name of the layer (file or DB table)

  • _images/icon_layertype.png Type: illustra il tipo di dato (WMS, PostGis, SpatiaLite, GDAL/OGR…)

  • WMS esterno: per accelerare il caricamento, i layer WMS presenti in un progetto QGISsono gestiti direttamente da Django e non da QGIS-Server. Tuttavia,questo metodo impedisce l”applicazione di qualsiasi stile (ad es. livello di opacità)definito a livello di progetto. La scelta dell”opzione WMS esternasignifica che il layer WMS è gestito direttamente da QGIS-Server e quindipuò essere applicato lo stile associato.

  • WFS: una spunta mostra se il layer è pubblicato o meno come servizio WFS

  • Actions: a series of icons dedicated to various functions

    • _images/icon_cache.png Cache del layer: ti permette di attivare e gestire la cache del layer

    • _images/icon_editing.png Editing layer: mostra se la funzione di modifica online è attiva sul layer e ti permette di attivarlo e definirlo

    • _images/icon_geoconstraints.png Manage geo-contsraints: create or manage editing geo-constraints

    • _images/icon_dataplotly.png QPlotly widget: add or manage plots created with DataPlotly QGIS plugin

    • _images/icon_alpha_constraints.png Manage alphanumric constraints: create or manage editing and visualization alphanumeric-constraints

    • _images/icon_widget.png Lista dei widget: mostra quanti widget (ad es. ricerche) sono associati a questo livello e ti permette di attivarne di nuovi

  • No legend: consente di definire se il layer deve o meno essere presente nella legendadel client Web

  • Download: allows the download of the geographic and not geographic layers in various formats

    • Download as shp: for geographic (shp) or not geographic (dbf) layers

    • Download as xls: for all types of layers, in .xls format

    • Download as csv: for all types of layers, in .csv format

    • Download as gpx: for geographic layers, in .gpx format

The number above each Action icon shows if and how many related objects are present.

Prova ad attivare le opzioni disponibili e verificare il risultato refreshando il servizio WebGis

Creazione strumenti di ricerca

Per creare uno strumento di ricerca disponibile a livello WebGis, selezionare il layer vettoriale su cui basarsi per creare lo strumento e fare clic sull”icona Elenco widget _images/icon_widget.png

Probabilmente verranno elencate Una serie di ricerche già realizzate per questo layer da altri utenti

E” possibile attivarle cliccnado sul check Collegato

_images/g3wsuite_administration_project_widget_list.png

Le ricerche elencate possono essere modificate, cancellate o scollegate usando lerelative icone.

Per creare una nuova ricerca, fai clic sul link blu Nuovo widget

Nel form è possibile definire:

  • Titolo del form

    • Type: «Search»

    • Nome: nome che utilizzerà G3W-SUITE per registrare internamente il widget di ricerca.

  • Configurazione generale delle ricerca e risultati

    • Titolo ricerca: titolo che identifica la ricerca che diverrà disponibile nel pannello Ricerche dell”interfaccia WebGis

  • Impostazioni campi di ricerca

    • Campo: campo su cui realizzare la ricerca

    • Widget: method of entering the value to be searched InputBox: manual compilation SelectBox: values ​​shown via drop-down menu AutoCompleteBox: values ​​shown through auto-complete mode

    • Alias: alias assegnato al campo che comparirà nel form di ricerca

    • Descrizione: descrizione assegnata al campo

    • Operatore comparizione: operatore di comparazione (=, <, >, ><, >=, <=, LIKE, ILIKE) tramite qui verrà realizzata la query di ricerca. Gli operatori LIKE e ILIKE saranno disponibili solo per layer PostGis o SpatiaLite

    • Dipendenza: questo parametro (facoltativo) permette, solo nel caso di widget SelectBox, di elencare la lista dei valori di un campo filtrati in base al valore definito per i campi precedenti. Lo strumento permette, ad esempio, di mostrate, nel menù a tendina dedicato alla scelta delle particelle catstali, solo le particelle collegate al foglio scelto nell’opzione precedente. Tale funzione è disponibile solo per layer PostGis o SpatiaLite.

Warning: in the case of fields with more than 100 unique values, the WMS service does not allow to obtain the complete list of values. In this case it is recommended not to use the SelectBox method

The button allows you to add additional fields for the construction of the search query currently manageable through AND/OR operators.

_images/button_add.png

The example below shows the compilation of the form for creating a search widget dedicated to a cadastral cartography layer.

_images/g3wsuite_administration_project_search_form.png

Una volta compilato il form si clicca sul tasto OK per salvare le impostazioni.

Salvate le impostazioni il widget realizzato comparirà nella lista dei Widget associati al layer.

Il widget risulterà già Collegato e quindi disponibile nell”inerfaccia WebGis.

_images/demo_search_result.png

Plots widget

Add plots created using QGIS DataPlotly (a great plugin developed by Matteo Ghetta) in the cartographic client.

The module, based on the Plotly library, manages plots saved as xml.

The plots are connected to the layers defined on the QGIS project, in this way, as for the searches and the constraints, it is possible to activate the same plots on all WebGis services in which the reference layer is present.

_images/g3wsuite_administration_plots.png

The title of the chart, defined at the plugin level, will be the unique identifier.

Try to create your plots in the QGIS project, save them as .xml and upload them to view the resluts on the webgis.

Plots based on visible or selected geometries will be available in the next version

_images/g3wsuite_qgis_plots.png

_images/g3wsuite_client_plots.png

Editing on line

Query form e widget di modifica sono già definiti nel progetto per il layer: buildings e per la tabella relazionata ``*maintenance_works.

  • Buildings

    • id (integer - primary key): autogenerate

    • name (text NOT NULL): text edit

    • address (text): Value relation (roads layer - code/name fileds)

    • year (integer NOT NULL): unique values (2015,2016,2017,2018,2019,2020)

    • photo (text): attachment

    • link (text): text edit

    • form (text): attachment

    • high (integer NOT NULL): range (10-30 step 2)

    • volume (integer): range (50-200 step 10)

    • surface (integer): text edit

    • architectural_barriers (text): Checkbox (Checked - Not checked)

    • date_barriers (date): date (yyyy/MM/dd)

    • safety_exits (text): checkbox (Checked - Not checked)

    • date_exits (date): date (yyyy/MM/dd)

    • fire_system (text): Checkbox (Checked - Not checked)

    • date_fire (date): date (yyyy/MM/dd)

    • type (text NOT NULL): unique values (Administrative, Commercial, Residential)

  • Maintenance_works

    • id (integer - primary key): autogenerate

    • id_buildings (text - relation key): text edit

    • maintenance (text NOT NULL): unique values

    • date (date): date (yyyy/MM/dd)

    • form (text): attachment

    • value (integer): range (10-30 step 2)

    • outcome (text): unique values (good, medium, bad)

    • responsible (text): text edit

    • cost (integer): range (1000-5000 step 1)

    • validation (boolean): checkbox (0/1)

Per attivare la funzione di editing su webgis, accedi all”elenco dei livelli e identifica i due livelli elencati precedentemente.

_images/g3wsuite_administration_project_layer_list.png

Cliccando sull”icona Editing layer _images/icon_editing.png (posizionata a sinistra di ogni layer) si aprirà un modale che permetterà di:

  • definire la scala di attivazione del”editing (solo per le tabelle geometriche)

  • definire gli utenti Viewer (singoli o gruppi) abilitati all”editing online «

Gli utenti Viewers (singoli o gruppi) disponibili nel menù a tendina saranno limitati a quelli che hanno permesso di accesso in consultazione al progetto WebGis in cui è contenuto il layer

_images/editing_setting.png

Attivata la funzione di editing, aggiornando il servizio WebGis, la voce Strumenti apparirà sul pannello di sinistra.

Attivando la funzione di editing sarà possibile modificare gli attributi delle features del layer degli edifici pubblici e dei relativi interventi di manutenzione

_images/editing_client_start.png

_images/demo_editing_web.png

_images/editing_form2.png

Per ulteriori informazioni sulla funzione di editing web, leggi il capitolo dedicato sul manuale.

Personalizza la tua demo

Vuoi testare più in profondità la funzione di editing?

Ridefinisci gli attribut form, gli alias e i widget di modifica associati ai singoli campi e ricarica il progetto per verificare le nuove impostazioni.

Prima però consulta il paragrafo dedicato all”elenco e alle limitazioni sui singoli widget di modifica ereditabili dal progetto QGIS