Welcome to G3W-SUITE development version documentation!

G3W-SUITE è un frame-work, basato su Django e scritto in linguaggio Python che consente di gestire in modo integrato i diversi componenti di QGIS per la realizzazione del proprio Sistema Informativo Geografico e per la pubblicazione su WebGis di progetti QGIS in modo semplice e intuitivo.

G3W-SUITE è interamente basato su componenti software Open Source costruiti attorno a QGIS:

  • QGIS Desktop: per la gestione dei dati geografici, editing erealizzazione di progetti cartografici di alta qualità

  • QGIS Server: per la pubblicazione dei progetti QGIS come servizi OGC

L’attuale politica di sviluppo prevede la compatibilità dell’applicazione G3W-SUITE solo con l’ultima versione LTR di QGIS.

The current release (3.5) is compatible with QGIS 3.22 LTR (Server and Desktop).

G3W-SUITE is a modular client-server application for the publication and management of QGIS cartographic projects, consisting of 3 components:

  • G3W-ADMIN: la componente di Amministrazione (gestioen progetti, ACL, OGC,proxy seerver, API REST server…)

  • G3W-CLIENT: il client cartografico per la consultazione ed interazione con i servizi OGC

  • Portale cartografico: per l’accesso alle informazioni di base, contenitori tematici e servizi WebGis

Attraverso l’interfaccia web della componente di Amministrazione è possibile:

  • pubblicare progetti QGIS in modo diretto estrutturato

  • organizzare servizi webgis in contenitori tematici-funzionali di vari livelli

  • gestire utenti e gruppi di utenti definendo ciascuno di essi ruoli funzionali diversi

  • creare e gestire strumenti di ricerca

  • permettere l”editing on line

  • attivare specifici moduli funzionali

  • definire le autorizzazioni per accedere ai servizi e per utilizzare i moduli funzionali a livello di singolo utente

_images/admin.jpg _images/client.jpg

Istallazione classica

The following instructions are for a Ubuntu 22.04 LTS.

Install required packages

First step is install dev libraries packages for python module

sudo apt-get install -y \
    libxml2-dev \
    libxslt-dev \
    postgresql-server-dev-all \
    libgdal-dev \
    python3-dev

Se stai utilizzando una versione ubuntu Server è necessario installare anche un XServer per le librerie Qt. E” possibile installare XVFB un XServer virtuale per X versione 11.

sudo apt intall -y xvfb

sudo Xvfb :99 -screen 0 640x480x24 -nolisten tcp &
export DISPLAY=:99

Ti suggerisco di creare un service systemd per renderlo attivo all”avvio della macchina.

Installa QGIS Server

wget -qO - https://qgis.org/downloads/qgis-2022.gpg.key | sudo  gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/qgis-archive.gpg --import 
sudo chmod a+r /etc/apt/trusted.gpg.d/qgis-archive.gpg
sudo bash -c "echo \"deb [arch=amd64] https://qgis.org/ubuntu-ltr jammy main\" >> /etc/apt/sources.list"
sudo apt update && sudo apt install -y python3-qgis qgis-server

Installazione di node.js e Yarn

G3W-ADMIN usa il gestore di pacchetti javacript Yarn e Node.js

sudo curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt install -y yarn

Creazione di una virtualenv

Istalla i seguenti pacchetti python virtualenv e virtualenvwrapper

Le seguenti istruzioni sono basate su Python versione 3.6

Install python pip and virtualenvwrapper

sudo apt-get install python3-pip && sudo pip3 install virtualenvwrapper

Creare una cartella dove poter creare gli ambienti dei propri virtualenvs.

mkdir <path_to_virtualenvs_directory>

Per attivare virtuenvwrapper all”accesso al sistema, aggiungi le seguenti righe al file di configurazione “bashrc” del tuo utente

nano ~/.bashrc
....
export WORKON_HOME=<path_to_virtualenvs_directory>
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

Esegui nuovamenti il login per attivare Virtualenvwrapper

sudo su <my_ubuntu_username>

Creazione di Virtualenv

Per creare una virtualenv è sufficient usare il comendo mkvirtualenv seguito da il nome identificativo del virtualenv (per utilizzare l”uso delle API di QGIS dentro al virtualenv l”unica soluzione è quella di dare accesso ai pacchetti python del systema ospite utilizzando l”opzione –system-site-packages)

mkvirtualenv --system-site-packages g3wsuite

Questo ultimo comando rende attivo il nuovo virtualenv, per le prossime volte è possibile usare il seguente comando per attivare nuovamente il virtualenv:

workon g3wsuite

Utilizzo del venv nativo Python3

Per il deploy di G3W-SUITE chiaramente può essere utilizzato il modulo nativo di Python3 venv, virtualenvwrapper è un modulo di terze parti che semplifica l”uso e la gestione dei virtualenv

Installazione di G3W-SUITE

Clona il codice da github

git clone https://github.com/g3w-suite/g3w-admin.git

Impostiamo il file local_config.py

G3W-ADMIN è un”applicazione Django e per funzionare è necessario impostare un file config.py. Per iniziare copiamo il file local_settings.example.py, impostiamo il database e settiamo le altre configurazioni:

cd g3w-admin/g3w-admin/base/settings
cp local_settings_example.py local_settings.py

imposta il nome del database, la media root e il nome della sessione dei cookies:

...

DATABASES = {
    'default': {
        'ENGINE': 'django.contrib.gis.db.backends.postgis',
        'NAME': '<db_name>',
        'USER': '<db_user>',
        'PASSWORD': '<db_user_password>',
        'HOST': '<db_host>',
        'PORT': '<db_port>',
    }
}

...

DATASOURCE_PATH = '<static_path_to_gis_data_source>'

...

MEDIA_ROOT = '<path_to_media_root>'

...

SESSION_COOKIE_NAME = '<unique_session_id>'

Con comandi paver

G3W-ADMIN ha una serie di comandi paver CLI per amministrare la suite. Dopo aver preparato l”ambiente è sufficiente invocare paver install task

paver install

Avviare G3W-SUITE

Per eseguire l”applicazione con paver

paver start

e per stopparla

paver stop

G3W-ADMIN è un”applicazione Django, quindi è possibile eseguire l”applicazione con i comandi standard manage.py di Django

./manage.py runserver

Deploy di G3W-SUITE

Come altre applicazioni Django, G3W-SUITE può essere implementato dalle sue funzionalità wsgi. Sul Web se semplice trovare tutorial per deployare un”applicazione Django.

Il modo più semplice è usare Apache2 come WEB server e il suo modulo mod_wsgi.

Le soluzioni alternative sono:

Passi per l”installazione manuale

L”installazione consigliata è basata sull”utilizzo dello script paver come menzionato sopra, ma nel caso in cui sia necessario personalizzare il processo di installazione, ecco i passaggi di costruzione e configurazione:

Creazione static js code

# Install yarn (requires root):
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | \
    tee /etc/apt/sources.list.d/yarn.list
apt-get update && sudo apt install -y yarn
# Back to unprivileged user, from the repository directory, run:
yarn --ignore-engines --ignore-scripts --prod
nodejs -e "try { require('fs').symlinkSync(require('path').resolve('node_modules/@bower_components'), 'g3w-admin/core/static/bower_components', 'junction') } catch (e) { }"

Assicurati che i build component siano disponibili in modalità statica e raccolti in un secondo momento

cd g3w-admin/core/static
ln -s "../../../node_modules/@bower_components" bower_components

Requisiti di installazione

Probabilmente all”interno di un virtual env:

pip install -r requirements.txt
pip install -r requirements_huey.txt

Settaggio di Django

python manage.py collectstatic --noinput
python manage.py migrate --noinput

Installa alcuni dispositivi per EPSG e altre opzioni di suite:

for FIXTURE in 'BaseLayer.json' 'G3WGeneralDataSuite.json' 'G3WMapControls.json' 'G3WSpatialRefSys.json'; do
    python manage.py loaddata  core/fixtures/${FIXTURE}
done

Sincronizza le voci dell”albero dei menu (riesegui questo comando nel caso in cui tu abbia installato moduli opzionali e non siano visibili nella struttura dei menu dell”amministratore):

python manage.py sitetree_resync_apps

Continuous integration testing

I test CI vengono eseguiti automaticamente su CircleCI solo per il dev branch.

La configurazione del Docker Compose utilizzata nei test CI è disponibile su docker-compose.yml.

L”immagine di prova viene creata dall”immagine di dipendenza e eseguirà tutti i passaggi di installazione e compilazione dal repository locale.

L”immagine di dipendenza viene creata da Dockerfile.deps.

G3W-SUITE supporta l”ultima QGIS versione LTR, ad ora le 3.22, perciò ci sono dockerfile e docker compose file per questa versione:

Dockerizzazione

This repository contains scripts and recipes for deploy of the G3W-SUITE web-gis application with Docker and Docker compose .

Deploy

Follow steps to deploy G3W-SUITE on a Ubuntu Server (20.04)

Configurazione

Crea un file .env (o copia .env.example e rinominalo in .env) e posizionalo nella directory principale, il file conterrà le credenziali del database (cambia your password) e altre impostazioni:

# External hostname, for docker internal network aliases
WEBGIS_PUBLIC_HOSTNAME=demo.g3wsuite.it/

# This volume is persistent and mounted by all
# containers as /shared-volume
WEBGIS_DOCKER_SHARED_VOLUME=/tmp/shared-volume-g3w-suite


# DB setup
G3WSUITE_POSTGRES_USER_LOCAL=g3wsuite
G3WSUITE_POSTGRES_PASS=<your_password>
G3WSUITE_POSTGRES_DBNAME=g3wsuite
G3WSUITE_POSTGRES_HOST=postgis
G3WSUITE_POSTGRES_PORT=5432

Description of other environment variables that can be used, are available on Docker environment variables

Run

docker-compose up -d

If all went well, G3W-SUITE run on http://localhost:8080

Login Page

G3W-SUITE with consumer image

G3W-SUITE use huey for bach processing (https://github.com/coleifer/huey), so if you want to use it, use docker-compose-consumer.yml file on deploy:

docker-compose -f docker-compose-consumer.yml up -d

Builds

Docker compose will download images from docker hub (https://hub.docker.com/u/g3wsuite), but is also possible build main image of G3W-SUITE and other docker-compose images.

G3W-SUITE

The main suite docker image can be built with:

docker build -f Dockerfile.g3wsuite.dockerfile -t g3wsuite/g3w-suite:dev --no-cache .

The image is build from https://github.com/g3w-suite/g3w-admin.git --branch dev and from a dependencies base image Dockerfile.g3wsuite-deps.ltr.dockerfile, the dependencies image can be built with:

docker build -f Dockerfile.g3wsuite-deps.ltr.dockerfile -t g3wsuite/g3w-suite-deps-ltr:dev --no-cache .

Usually is sufficient make build of main docker image g3wsuite/g3w-suite:dev, the build of dependence image g3wsuite/g3w-suite-deps-ltr:dev is done to update last QGIS LTR version.

PostGis

L”immagine di Postgis può essere costruita con:

docker build -f Dockerfile.postgis.dockerfile -t g3wsuite/postgis:11.0-2.5 .

La Docker hub name per questa immagine è g3wsuite/postgis: 11.0-2.5

Setups

PG_SERVICE

To use of PostgreSql Service, put your service setups into ./scripts/pg_service.conf file, the conf file will be mounted into docker container at runtime to PGSERVICEFILE path position.

Configurazione aggiuntiva HTTPS

To active https with LetsEncrypt just follow the following instructions:

  • move config/_nginx/django_ssl.conf to config/nginx/django_ssl.conf

  • controlla il nome di dominio nel file .env e in config/nginx/django_ssl.conf

  • lanciare docker pull certbot/certbot

  • lanciare ./run_certbot.sh

  • activate 301 redirect into config/nginx/django.conf

  • restart compose

  • make sure the certs are renewed by adding a cron job with crontab -e and add the following line: 0 3 * * * /<path_to_your_docker_files>/run_certbot.sh

  • se hai disabilitato HTTPS, puoi spostare config/nginx/django ssl.conf nella sua posizione originale e riavviare il Docker compose per abilitare HTTPS

Volumes

Dati, progetti, caricamenti e database sono archiviati in un volume condiviso shared-volume, il volume deve essere su un dispositivo di archiviazione permanente e deve esservi applicato un criterio di backup.

Currently, the volume is mounted in /tmp/shared-volume-g3wsuite-dev. In production environments it is encouraged to change this to a permanent location. This can be done by modifying the .env file.

Prima configurazione

  • accediamo al pannello di amministrazione web dell”applicazione utilizzando le credenziali predefinite (admin/admin)

  • cambiare la password per l”utente amministratore e per qualsiasi altro eventuale utente di esempio

Caching

La tile cache può essere configurata e cancellata per singolo livello attraverso il pannello di amministrazione della applicazione e permane fino a quando non viene disabilitata o cancellata.

Suggerimento: abilita la cache su vettoriali lineari e poligonali.

Editing

Editing module is active by default, to avoid simultaneous feature editing by two or more users, the editing module works with a feature lock system. This locking system can remain active if users do not exit the editing state correctly, to avoid this it is advisable to activate a cron job on host machine that checks the features that have been locked for more than 4 hours and frees them:

0 */1 * * * docker exec -e DISPLAY=:99 g3w-suite-docker_g3w-suite_1 python3 /code/g3w-admin/manage.py check_features_locked

Front-end App

Set the environment variable

FRONTEND=True

This will set the front end app as the default app

Personalizzazione dello stile

I templates possono essere sovrascritti inserendo gli override in config/g3w-suite/overrides/templates, è necessario un riavvio del servizio Docker per rendere effettive le modifiche.

Anche il logo viene sovrascritto (tramite config/g3w-suite/settings_docker.py che è montato come volume), le modifiche al file delle impostazioni richiedono il riavvio del servizio Docker.

Un CSS personalizzato viene aggiunto alle pagine, il file si trova in config/g3w-suite/overrides/static/style.css e può essere modificato direttamente, le modifiche hanno effetto immediato.

Ottimizzazione delle prestazioni

Regole generali (in nessun ordine particolare: sono tutte obbligatorie)

  1. imposta la visibilità dipendente dalla scala per l”intero layer o per alcune features filtrate (esempio: mostra solo le strade principali fino alla scala 1: 1E+6)

  2. quando per la stilizzazione dei layer si utilizza il metodo categorizzato o la classificazione basata su regole oppure quando si attiva la visibilità dipendente dalla scala, è fortemente consigliato creare indici sulle colonne coinvolte nell”espressione della regola (esempio: “create indice idx_elec_penwell_ious on elec_penwell_ious (owner);”)

  3. avvia il progetto con solo pochi livelli attivi all”avvio

  4. non rendere attivi di default i livelli base XYZ come (Google base maps)

  5. non utilizzare il rendering basato sul metodo categorizzato o basato su regole con troppe categorie (esempio: elec_penwell_public_power), ciò rallenta il rendering della mappa

  6. abilitare la semplificazione del rendering per layer non puntuali, impostarlo su Distanza 1.2 e selezionare Abilita semplificazione provider se disponibile

Amministrazione PostgreSQL

PostGreSQL è in esecuzione in un contenitore Docker, per accedere al contenitore è possibile seguire le istruzioni seguenti:

Controlla il nome del contenitore

$ docker ps | grep postgis
84ef6a8d23e6        g3wsuite/postgis:11.0-2.5       "/bin/sh -c /docker-…"   2 days ago          Up 2 days           0.0.0.0:5438->5432/tcp           g3wsuitedocker_postgis_1

Nell”esempio il nome del contenitore è g3wsuitedocker_postgis_1

Accedi al contenitore

$ docker exec -it g3wsuitedocker_postgis_1 bash

Diventa utente postgres

root@84ef6a8d23e6:/# su - postgres

Connettiti a PostGis

postgres@84ef6a8d23e6:~$ psql
psql (11.2 (Debian 11.2-1.pgdg90+1))
Type "help" for help.

postgres=#

Portainer usage

Portainer (https://www.portainer.io) is a docker-based web application used to edit and manage Docker applications in a simple and intuitive way.

Plese refer to the Add new stack section to learn how to deploy the docker-compose-consumer.yml stack with Portainer (>= v2.1.1).

Contributors

Docker environment variables

The following environment variables used to deploy G3W-SUITE by docker (https://github.com/g3w-suite/g3w-suite-docker).

They must added to .env deploy file.

Requirements variables

WEBGIS_PUBLIC_HOSTNAME

The domain to which the application will respond.

WEBGIS_DOCKER_SHARED_VOLUME

The path on which the docker permanent volume will be mounted with the application data inside.

Database connections parameters

The follow variables re for set the connection to G3W-SUITE administration database.

G3WSUITE_POSTGRES_USER_LOCAL

Database username to connect to G3W-SUITE database. If you are going to use docker postgis image, it’ll be created on first run of container.

G3WSUITE_POSTGRES_PASS

Database username password to connect to G3W-SUITE database. If you are going to use docker postgis image, it’ll be created on first run of container.

G3WSUITE_POSTGRES_DBNAME

Database name of G3W-SUITE database connect to. If you are going to use docker postgis image, it’ll be created on first run of container.

G3WSUITE_POSTGRES_HOST

Database host value connect to. If you are going to use docker postgis image, it’ll be set to postgis

G3WSUITE_POSTGRES_PORT

Database port value connect to. If you are going to use docker postgis image, it’ll be set to 5432

Other not required settings

TILESTACHE_CACHE_TOKEN

A custom unique token to use for internal caching request. Default value is : 374h5g96831hsgetvmkdel.

TILESTACHE_CACHE_BUFFER_SIZE

Tile width/height tile map dimension. Default value is: 256.

G3WSUITE_TILECACHE_PATH

Internal path to folder to save tiles of map. Dafault value is: /shared-volume/tile_cache/.

Gunicorn settings

G3W-SUITE with docker is deployed with Gunicorn.

G3WSUITE_GUNICORN_NUM_WORKERS

Number of workers Gunicorn has to start with. Default: 8. Usually then number of workers is equal to number of processor x 2.

G3WSUITE_GUNICORN_MAX_REQUESTS

Number of requests after that gunicorn worker restart. Default: 200. Thi is used to compensate the python/gunicorn memory leaks.

QGIS server variables

Every QGIS environment variables available as specified on manual https://docs.qgis.org/3.22/en/docs/server_manual/config.html#environment-variables can be set, important is remember to add thy to docker-compose.yml o docker-compose-consument.yml.

The following varaible are just set into docker-compose files:

PGSERVICEFILE

Put your pg services into ./scripts/pg_service.conf file, the conf file will be mounted into docker container at runtime to PGSERVICEFILE path position.

QGIS_SERVER_LOG_FILE

QGIS_SERVER_LOG_LEVEL

Openrouteservice

ORS_API_ENDPOINT

Openrouteservice API end point. Default: “https://api.openrouteservice.org/v2”.

ORS_API_KEY

Openrouteservice API key Optional, can be blank if the key is not required by the endpoint

ORS_MAX_RANGES

Max number of ranges (it depends on the server configuration) Default: 6.

ORS_MAX_LOCATIONS

Max number of locations(it depends on the server configuration) Default: 2.

Frontend module

FRONTEND

If true install and activate G3W-SUITEfrontend module https://github.com/g3w-suite/g3w-admin-frontend

Impostazioni

Le variabile seguenti possono essere aggiunte/modificate nel local_settings.py

Impostazioni di base

G3WADMIN_PROJECT_APPS

Lista di moduli “custom” che forniscono servizi di map serving oltre il modulo qdjango

G3WADMIN_LOCAL_MORE_APPS

Custom django modules that is possible to add, i.e. g3w-admin-frontend (https://github.com/g3w-suite/g3w-admin-frontend) module and other third part django modules. G3W-SUITE accessory modules:

DATASOURCE_PATH

Path alla cartella locale dei dati geografici (shp, Spatialite, raster, ecc..).

G3WFILE_FORM_UPLOAD_FORMATS

List of formats file that file form ajax uploader can manage at global level. Default is [“qgs”, “qgz”, “png”, “jpg”, “jpeg”, “pdf”, “doc”, “docx”, “xls”, “xlsx”, “ods”]

Importante

L’ultima parte del path deve essere a comune con il datasource del dato dentro al progetto QGIS. P.e.:

QGIS project: <datasource>/<path>/<to>/project_data/<geodata>.shp</datasource>

local_settings.py: DATASOURCE_PATH = /<local_server_<path>/<to>/project_data

Richiesto.

G3WADMIN_VECTOR_LAYER_DOWNLOAD_FORMATS

Di default è uguale a [“shp”, “xls”], imposta il formato di download dei dati. Valori possibili:
  • shp: download nel formato Esri Shapefile

  • xls: download nel formato Excel

  • gpx: download nel formatp GPS (solo per i layer di tipo Punto o Linea)

RESET_USER_PASSWORD

Default is False, set tot True to activate reset user password by email workflow. If set to True remember to set Django emailing settings (https://docs.djangoproject.com/en/2.2/topics/email/).

CLIENT_OWS_METHOD

Default is “GET”, set to “POST” to change default http call method.

Impostazioni per il portale fi frontend

FRONTEND

Di default è False, impostare a True per attivare il portale frontend di G3W-SUITE come g3w-admin-frontend. Se impostato a True la url di base della sezione admin di G3W-SUITE diventerà /admin/.

FRONTEND_APP

Nome del modulo aggiunto a G3WADMIN_LOCAL_MORE_APPS t da usare come portale-frontend. P.e.:

G3WADMIN_LOCAL_MORE_APPS = [
    ...
    'frontend',
    ...
]

FRONTEND = True
FRONTEND_APP = 'frontend'

Impostazioni generali di layout

G3WSUITE_POWERD_BY

Di base è True, impostare a False per non mostrare le informazioni di attribuzione nella parte bassa della sezione admin.

G3WSUITE_CUSTOM_STATIC_URL

A custom url from to load custom static files as images, css, etc..

G3WSUITE_CUSTOM_TITLE

Titolo html delle paginde di G3W-SUITE. Se non impostato, il titolo è: g3w-admin per la sezione di admin e g3w-client per il client webgis

G3WSUITE_FAVICON

Immagine fovorite icon. Perché l’impostazione abbia effetto è necessario impostare G3WSUITE_CUSTOM_STATIC_URL

G3WSUITE_CUSTOM_CSS

Una lista di url a file css che saranno aggiutne alla pagine della sezione admin a al client. Perché l’impostazione abbia effetto è necessario impostare G3WSUITE_CUSTOM_STATIC_URL. P.e.:

G3WSUITE_CUSTOM_CSS = [
    G3WSUITE_CUSTOM_STATIC_URL +'css/custom.css'
]

G3WSUITE_CUSTOM_JS

A list of custom js files added to admin pages and to the client. Mandatory is set G3WSUITE_CUSTOM_STATIC_URL. I.e.:

G3WSUITE_CUSTOM_JS = [
    G3WSUITE_CUSTOM_STATIC_URL +'js/custom.js'
]

Client layout settings

G3W_CLIENT_SEARCH_TITLE

Ttitolo personalizzato della sezione search del client webgis.

G3W_CLIENT_SEARCH_ENDPOINT

Search url endpoint for “searches calling”, default ows.
  • ows: by wms search;

  • api: by g3w-suite layer vector API.

G3W_CLIENT_LEGEND

Un dizionario python di paramentri per personalizzare il layout della immagine di legenda generata dal servizio WMS GetLegendGraphics di QGIS-server, P.e.:

G3W_CLIENT_LEGEND = {
   'color': 'red',
   'fontsize': 8,
   'transparent': True,
   'boxspace': 4,
   'layerspace': 4,
   'layertitle': True,
   'layertitlespace': 4,
   'symbolspace': None,
   'iconlabelspace': 2,
   'symbolwidth': 8,
   'symbolheight': 4
}

G3W_CLIENT_RIGHT_PANEL

Custom properties settings for webgis right panel section (default, width 33%). A the moment only width is managed. I.e.:

G3W_CLIENT_RIGHT_PANEL = {
    'width': 33
}

G3W_CLIENT_NOT_SHOW_EMPTY_VECTORLAYER

Default is False. Set to True for remove from webgis TOC vector layer empty, without data.

Editing settings

Settings params for editing module.

EDITING_SHOW_ACTIVE_BUTTON

Di base è True`, Impostare a ``False per non mostrare i bottoni di attivazione/disattivazione editing nella pagina della lista dei layer di un progetto.

EDITING_ANONYMOUS

Di base è False. Impostare a True per dare al apossibilità di editing anche all’utente anonymous.

EDITING_LOGGING

Di base è False: Impostare a True per attivare il logging delle azione di editing di ogni singolo utente.

Caching settings

Settings params for caching module

TILESTACHE_CACHE_NAME

A name to identify caching

TILESTACHE_CACHE_TYPE

Default is Disk to save tile on a disk. Set to Memcache for to use Memcached caching framework (https://www.memcached.org/)

TILESTACHE_CACHE_DISK_PATH

Path to disk space where to save tile created by tilestache if TILESTAHCE_CACHE_TYEPE is se to Disk.

TILESTACHE_CACHE_TOKEN

Mandatory, strign to use as token for internal WMS call for caching module.

Filemanger settings

Settings params for filemanager module.

FILEMANAGER_ROOT_PATH

Mandatory, path to disk space where to CRUD geo data files i.e. Shp Raster, etc.

FILEMANAGER_MAX_UPLOAD_N_FILES

Default is 5, max number files to upload simultaneously.

Qplotly settings

LOAD_QPLOTLY_FROM_PROJECT

Default is False, set to True to import DataPlotly settings from QGIS project.

Openrouteservice settings

ORS_API_ENDPOINT

Default is http://localhost:8080/ors/v2/, this is the endpoint for Openrouteservice API.

ORS_API_KEY

Openrouteservice API key, optional, can be blank if the key is not required by the endpoint.

ORS_PROFILES

List of available Openrouteservice profiles, default: ("driving-car", "driving-hgv")

Vendors settings

Settings variables about third part services, i.e. Google API etc..

VENDOR_KEYS

A list with services API keys. I.e.:

VENDOR_KEYS = {
 'google': 'fhgnrjwipòflsjhjjdhjdhashhabs',
 'bing': 'agbsgtrkADgstejaaklkklkds8irncdfk'
}

At the moment only Google and Bing services are supported, for background base map and for google geoconding service plus of Nominatim default service.

Introduzione

G3W-SUITE è un’applicazione client-server modulare per la gestione e la pubblicazione di progetti cartografici interattivi.

Il framework nasce dalla necessità di avere un software in grado di pubblicare, in totale autonomia e in maniera semplice e veloce su un client webgis, progetti cartografici realizzati con QGIS

All’interno del manuale saranno analizzati i seguenti aspetti:

  • organizzazione ed ottimizzazione dati e progetti QGIS per la pubblicazione web

  • organizzazione dei contenuti cartografici in maniera gerarchica: macro gruppi e gruppi cartografici

  • gestione utenti e sistemi di controllo degli accessi in consultazione e gestione dei servizi webgis

  • gestione della funzione di editing on line per la creazione di gestionali cartografici web

  • publishing and managing QGIS projects as WebGis services

  • creation of searches, visualization of graphics created with the DataPlotly plugin and definition of constraints (geographic and alphanumeric) on visualization and editing permissions

The current release (3.5) is compatible with QGIS 3.22.x LTR (Server and Desktop).

_images/demo_qgis_project.png

_images/demo_webgis_project.png

Versione

At the moment it”s not used a classic versioning system for the suite, this branches are avialable.

Branch Python version Django version QGIS QGIS API Status
dev 3.10 2.2 3.22 Used Continuous development
v3.5 3.10 2.2 3.22 Used Bug fixing
v3.4 3.8 2.2 3.22 Used Bug fixing
v3.3 3.6 2.2 3.16 Used Bug fixing
v3.2 3.6 2.2 3.16 Used Not longer supported
v3.1 3.6 2.2 3.10 Used Not longer supported
v3.0 3.6 2.2 3.10 Used Not longer supported

Main contributors

Infrastruttura Tecnologica

Il sistema di pubblicazione è basato su una serie di strumenti e software OS

  • PostgreSQL/PostGis: per la gestione dei dati dell”applicativo

  • PostgreSQL/PostGis or SpatiaLite: for the management of geographic data

  • QGIS Server LTR come server per i servizi OGC

  • G3W-ADMIN - la componente di Amministrazione: sviluppata in Python usando Django

  • G3W-CLIENT - the Cartographic client: based on OpenLayers3 and developed with reactive tecnology by Vue.js

  • Le librerie principali utilizzate per la gestione e la visualizzazione della parte geografica e l’interazione con l’utente sono: OpenLayer, Boostrap, jQuery, Lodash e Vue.js.

  • Gulp.js come task runner

_images/architecture.png

Di seguito si riporta uno schema relativo al flusso operativo dell”applicazione

_images/architecture_workflow.png

Gestione ed organizzazione dati geografici e progetti QGIS

In questo paragrafo si descrive come organizzare dati e progetti QGIS in locale e come sincronizzarli sull”ambiente server ai fini della pubblicazione.

Thanks to the integration with the APIs of QGIS it is now possible to manage the main formats (geographic or not) supported by QGIS Server:

  • reading and editing mode

    • PostGreSQL/PostGIS

    • Oracle Spatial (compiling QGIS Server)

    • SQLite/SpatiaLite

    • GeoPackage

    • ShapeFile

  • reading mode

    • SQL Server

    • Virtual layer

The suite also allows you to manage the consultation and editing of:

  • simple join data with no nesting limits

  • 1:N relation data

  • N:M relation data

Dati su DB Server

If your geographic data is stored on Server DB, it will be sufficient to allow access to the DB from the IP address on which the application is installed.

Data on SpatiaLite/GeoPackage or OGR format

If your geographical data are stored on SpatiaLite, GeoPackage or an other physical files (.shp, .kml, .tif…) located on your local PC, you will need:

  • organize data and projects in predefined local directories and subdirectories

  • uploadare/sincronizzare i dati geografici sulle corrispondenti directory poste sul server di installatazione dell”applicativo

Of course, mixed solutions with geographical data on PostGreSQL/PostGIS, SpatiaLite and other formats will also be possible.

Organizzazione dati e progetti

Dati su file fisici e/o su GeoDB SpatiaLite e progetti cartografici QGIS devono essere organizzati nel rispetto delle seguenti indicazioni:

  • una directory principale nominata e posizionata secodo l”esigenze dell”utente e contenente

    • una sub-directory project_data che deve contenere i dati geografici utilizzati per i vari progetti cartografici, tali dati possono anche essere organizzati in ulteriori sub-directory senza limiti di nidificazione.

    • una sub directory nominata projects che ospiterà i progetti QGIS da pubblicare.

_images/datamanagement.png

NB: il nome della directory locale dedicata ai dati geografici deve corrisponde al nome definito per il set di variabili DATASOURCE_PATH durante l”installazione. Vedi paragrafo dedicato

Tale directory è adibita anche a contenere immagini utilizzate nei layout di stampa associati ai progetti cartografici QGIS.

Sincronizzazione dati geografici su spazio server

The data stored in the local project_data directory must be synchronized on the server where the G3W-SUITE application is installed.

The geographic data stored in the local project_data folder must be loaded, reflecting any subdirectory structure.

To synchronize your data access to the Administration panel of G3W-ADMIN and click on the Configurations icon _images/iconconfiguration.png located in the upper right corner.

Choose the File Manager item in the linked menu.

_images/g3wclient_icon_config.png

_images/g3wsuite_administration_configuration_menu.png

Tramite tale strumento è possibile gestire i file fisici geografici sul server in modo semplice ed intuitivo.

The root directory of the File Manager corresponds to the local project_data directory

It will therefore be necessary, in the case of using geographic files on the file system, to synchronize the contents of the local project_data directory (and any sub-directories) before proceeding with the publication of QGIS projects.

Two specific directories can also be created within the root directory of the File Manager:

  • media_user: a directory exposed on the web, to store your multimedia files

  • svg: a directory to store extra SVG icons used your QGIS projects

All the directories can be organized in subdirectories with no nesting limits.

NB: i nomi di queste directory sono definiti dalle impostazioni di base impostate durante l”installazione della suite. Vedi paragrafo dedicato

_images/g3wsuite_administration_file_manager.png

The example shows the case in which in the local project_data directory there are two directories (geopackage and spatialite) in addition to the two system directories (svg and media_user).

Organizzazione gerarchica dei servizi WebGis e Tipologie di Utenti (Ruoli)

Questo paragrafo permette di comprendere come G3W-SUITE renda possibile gestire in modo strutturato e gerarchico i singoli servizi WebGis.

In G3W-SUITE è possibile organizzare i servizi WebGis su due livelli tematici/funzionali

  • MacroGruppi Cartografici

    • Gruppi Cartografici

Tali livelli organizzativi possono essere associati a diverse tipologie di utenti (Editor 1, Editor2 e Viewer) al fine di gestire in modo granulare i poteri di accesso/gestione ai singoli elementi

L”immagine seguente mostra un esempio relativo all”utilizzo funzionale di questi livelli organizzativi all”interno di un Unione di Comuni.

Ad ogni servizio WebGis potranno essere associati politiche di accesso e singoli moduli funzionali.

_images/g3wsuite_administration_organization_containers_simple.png

Tipologie di Utenti (Ruoli)

The user management session allows you to create Users and Users Groups and associate them with specific roles:

  • Admin1: utente con pieni poteri compresi quelli di amministrazione Django (configurazione di base della suite)

  • Admin2: utente con pieni poteri esclusi quelli di amministrazione Django (configurazione di base della suite)

  • Editor1: utente amministratore di uno o più MacroGruppi Cartografici per i quali avrà la possibilità di

    • creare utenti e/o gruppi di utenti

    • creare Gruppi Cartografici ed, eventualmente, assegnarli ad un utente Editor 2

    • pubblicare servizi WebGis e definirne la policy di accesso

    • attivare e configurare alcune tipologie di moduli funzionali

  • Editor2: amministratore di uno o più Gruppi Cartografici per i quali avrà la possibilità di

    • pubblicare/aggiornare servizi WebGis e definirne la policy di accesso

    • attivare e configurare alcune tipologie di moduli funzionali

  • Viewer: utente con permesso di accesso in consultazione a servizi WebGis caratterizzati da autenticazione. L’utente può anche utilizzare singoli Moduli funzionali se gli sono stati attribuiti i relativi permessi

  • Anonymus User: utente da associare ai servizi WebGis e/o ai Moduli funzionali ad accesso libero

Organizzazione gerarchica dei contenuti

Il seguente paragrafo è dedicato a comprendere al meglio i rapporti tra le diverse tipologie di utenti ed i diversi elementi della suite (MacroGruppi, Gruppi cartografici, servizi WebGis…).

In G3W-SUITE è possibile gestire i servizi Webgis in modo più o meno strutturato

  • un livello organizzativo (Gruppi Cartografici)

  • due livelli organizzativi (MacroGruppi e Gruppi Cartografici)

Tali livelli gerarchici possono essere utilizzati a scopo organizzativo (contenitori tematici) o funzionale (contenitori gestiti da utenti/ruoli diversi).

E’ infatti possibile associare i due tipi di contenitori (MacroGruppi e Gruppi Cartografici) ad utenti con ruoli/poteri diversi (Editor1 ed Editor2) che diverranno così gli Amministratori di tutti i loro contenuti.

In particolare gli utenti Editor1 saranno anche in grado di creare/gestire utenti che potranno essere associati ai Gruppi Cartografici e ai servizi WebGis presenti nel MacroGruppo di riferimento.

Di seguito saranno meglio descritti i casi relativi ad uno o due livelli organizzativi.

Un livello organizzativo (assenza di MacroGruppi)

If MacroGroups are not needed, the Admin user will be the only administrator of the suite and can therefore:

  • creare utenti (singoli e/o gruppi) di varia tipologia

  • creare Gruppi Cartografici

  • pubblicare servizi WebGis all’interno dei singoli Gruppi Cartografici

  • attivare alcuni moduli specifici su singoli servizi WebGis

Al momento della creazione di un Gruppo Cartografico, l’utente Admin può definire:

  • l’eventuale utente (singolo/gruppo) Editor2 a cui associare il Gruppo stesso

  • gli utenti (singoli/gruppi) Viewers che avranno accesso a tale contenitore

_images/g3wsuite_administration_organization_containers_no_mg.png

Nel caso in cui il Gruppo Cartografico sia associato ad un un utente o ad un gruppo di utenti di tipo Editor 2, questi potranno pubblicare/aggiornare autonomamente servizi WebGis posti in tale contenitore

Gli utenti Editor 2 potranno anche definirne le politiche di accesso ai servizi WebGis pubblicati, basandosi sui soli utenti di tipo Viewers associati al Gruppo Cartografico dall’utente Admin.

Anche l’utente Admin potrà pubblicare servizi WebGis all’interno di un Gruppo Cartografico ed, eventualmente associarli ad un utente (singolo e/o gruppo) di tipo Editor 2.

Due livelli organizzativi (presenza di MacroGruppi)

I Macrogruppi possono essere creati dal solo utenti di tipo Admin.

Ogni Macrogruppo può essere associato ad un solo utente di tipo Eitor1

Ogni MacroGruppo può essere considerato come un compartimento stagno all’interno del quale l’utente Editor 1 associato (amministratore del MacroGruppo), potrà creare utenti e gruppi di utenti che saranno resi disponibili per definire i permessi di accesso relativamente ai contenuti (Gruppi Cartografici, servizi WebGis, moduli funzionali…) del solo MacroGruppo di riferimento.

In questo modo sarà possibile creare delle entità totalmente indipendenti tra loro, i MacroGruppi, che saranno gestite, in modo esclusivo, dall’utente Editor1 ad essi associato.

Chiaramente gli utenti Amministratori (Admin 1 e Admin 2) continueranno ad avere pieni poteri su tutti i MacroGruppi creati.

_images/g3wsuite_administration_organization_containers.png

Come precedentemente specificato, l’utente Editor 1 potrà:

  • creare utenti (singoli e/o gruppi) di tipo Editor2 e Viewer

  • creare Gruppi Cartografici all’interno del proprio Macrogruppo

  • pubblicare servizi WebGis all’interno dei propri Gruppi Cartografici

  • attivare alcuni moduli specifici su singoli servizi WebGis

Al momento della creazione di un Gruppo Cartografico, l’utente Editor 1 può definire:

  • l’eventuale utente (singolo/gruppo) Editor 2 a cui associare il Gruppo stesso

  • gli utenti (singoli/gruppi) Viewers che avranno accesso a tale contenitore

Tabella riassuntiva delle politihe di accesso e amministrazione

Di seguito una tabella riepilogativa dei poteri associati alle diverse tipologie di utenti.

_images/roles_table.png

QGIS: impostazioni dei progetti cartografici

This section describes how to optimize your QGIS projects to publish as a WebGis service.

Grazie all”integrazione con QGIS Server, tutti gli aspetti di simbologia associati ai singoly layer sono automaticamente riprodotti sul servizio WebGis

Alcuni parametri e opzioni definite a livello di progetto QGIS vanno ad incidere sulla funzionalità e sui contenuti del servizio WebGis, come ad esempio:

  • il nome identificativo del servizio webgis pubblicatoG3W-SUITE

  • i metadati di base associati

  • le capabilities del servizio

  • eventuale esclusione di layout di stampa sul servizio WebGis

  • quali strati dovranno risultare interrogabili e ricercabili tramite WMS

  • which layers to expose with the different OGC services (WMTS, WFS, WCS)

  • which fields (for each vector data) are exposed as WMS and/or WFS

  • the Themes (Views) defined at the project level

  • layer/group management from embedded projects

  • la struttura del query form visible sul servizio WebGis

  • the editing widget, constraints and default values (also based on QGIS expressions) for every fields of vector layers

  • the associated print layouts, report included

Nei paragrafi successivi verranno descritte le impostazioni relative al progetto cartografico QGIS che avranno maggior risvolti in relazione al servizio WebGis pubblicato.

Project property

Dal menù Progetto Proprietà si acceda alla finestra Proprietà del progetto e da qui si accede a tre sottomenù di nostro interesse:

  • Generale

  • Sorgente dei dati

  • QGIS server

Generale

Impostazioni generali

In questa sezione è possibile definire il titolo del progetto e, conseguentemente, il titolo del servizio WebGis.

Il contenuto della voce Titolo del progetto sarà usato a livello di applicazione per identificare univocamente il progetto pubblicato; per questa ragione non sarà possibile assegnare lo stesso titolo a differenti progetti pubblicati su WebGis

N.B. Si sconsiglia l”utilizzo di caratteri speciali o numeri nel titolo del progetto

_images/projecttitle.png

Sorgente dei dati

L”opzione Crae automaticamente transizioni di gruppo quando è possibile è ereditata automaticamente per l”editing on line

Layers Capabilities

This submenu defines the querable and/or searchable layers at the WebGis service level.

  • Check the Identifiable column if you want that the layer will be searchable on the WebGis

  • Check the Searchable column if you want that the layer will be querable on the WebGis

NB: this differentiation is only possible by using the QGIS APIs such as Search URL endpoint. See dedicated paragraph

_images/datasources.png

QGIS Server

Capabilities del servizio

In questa sezione è possibile definire le capabilities del servizio WebGis pubblicato.

Tali informazioni, insieme a quelle associate alla struttura dati dei singoli layer del progetto, verranno visualizzate associate al servizio WebGis nella sessione Metadati.

Vedi anche il paragrafo dedicato

_images/qgisservercapabilities.png

Capabilities WMS – Estensione di pubblicazione

In questa sezione è possibile definire l”estensione geografica visualizzata all”avvio del servizio WebGis.

La procedura più semplice da seguire è quella di impostare sulla mappa la vista geografica desiderata e cliccare poi sul tasto “Imposta all”estensione della mappa”.

_images/qgisserversetmapexpetent.png

Capabilities WMS – Restrizioni SR

In questa sezione è possibile definire i sistemi di proiezioni per cui il progetto è disponibile relativamente ai servizi OGC.

E” chiaramente necessario inserire il sistema di proiezione su cui è stato realizzato il progetto QGIS, il SR in questione è aggiunto cliccando sul tasto “Usato”.

Altri sistemi di riferimento geografico sono implementabili cliccando sul tasto + e scegliendo dalla lista dei sistemi di riferimento.

_images/qgisserversrisrestriction.png

Capabilities WMS – Escludi composizioni

In questa sezione è possibile escludere, dalla disponibilità del servizio WebGis, alcune tra i layout di stampa che sono associati al progetto cartografico.

_images/qgisserverexludecompositions.png

Capabilities WMS – Aspetti generici

Due aspetti ulteriori sono gestibili relativamente alle capabilities WMS

  • in generale si consiglia di utilizzare l”opzione Usa gli id dei layer come nomi al fine di velocizzare le operazioni di interrogazione e ricerca

  • per poter rendere attivo sul WebGis la funzione di **zoom ai risultati di una ricerca o a quelli di un interrogazione occorre attivare l”opzione Aggiungi la geometria alla risposta dell'oggetto

_images/qgisservergeneralaspects.png

WMTS Capabilities

In this section it is possible to define which layers are exposed as WMTS services defining the various options

Capabilities WFS

In questa sezione è possibile definire le quali layer siano esposti come WFS

Il servizio WFS è necessario nel caso si vogliono utilizzare le seguenti modalità di interrogazione:

  • query bybox

  • query bypolygon

E sufficiente spuntare la check box relativa alla colonna Pubblicato

_images/qgisservergeneralaspectswfs.png

WCS Capabilities

In this section it is possible to define which rasters are exposed as WCS services

General aspects

Themes (Views)

The creation of Themes (combination of off / on layers and differentiated simbology styles) is managed at the WebGis service level.

A specific menu on the webgis will allow you to choose the Theme to be displayed.

The views will be parameterizable at the URL level of the related webgis service.

Layer order

The option to define the layer order different from the order in the TOC on the QGIS project is automatically supported.

Legend

The activation of the Filter legend by Map content option on the QGIS project is automatically applied to the derived WebGis service.

Mutually exclusive groups

The activation on the QGIS project of the Mutually exclusive group option for the layers groups is automatically applied to the derived WebGis service.

1:N and N:M relations

ATTENTION: to correctly manage these types of relations it is NECESSARY to insert the reference to the relations in the customized form

images/manual/qgislayerproperties_displayform_relations.png

Embedded project

It is possible to publish QGIS projects that contain layers or groups of layers deriving from embedded projects. It is clearly necessary to publish the embedded project first and then those derived from it. An update of the embedded project will result in a consequent modification of all derived projects. The request to delete the basic embedded project causes a warning message as this operation will cause problems on all derived projects.

Layers properties

Simbologia

La vestizione associata ai singoli layer viene replicata autonomamente sul servizio WebGis.

The suite allows the switching on/off of the individual categories linked to the various simbolgy methods (categorized, graduated, by rules …).

images/manual/g3wsuite_simbology_onoff.png

Nel caso di utilizzo di icone SVG esterne (aggiunte a quelle base di QGIS, tramite il menù Impostazioni Opzioni  Sistema -> Percorsi SVG), queste devono essere caricate sul server per poter essere utilizzate da QGIS-Server.

Gestire icone SVG personalizzate

Nella procedura di installazione dell”applicativo G3W-SUITE viene creata sul server una directory nominata svg che nasce per ospitare le icone SVG personalizzate.

All”interno di tale directory è possibile quindi ospitare icone SVG, anche organizzate in subdirecory.

Nel pannello di Amministrazione l”icona Configurazioni posta nell”angolo in alto a destra permette di accedere ad un menù che comprende la voce File Manager.

_images/g3wclient_icon_config.png

_images/g3wsuite_administration_configuration_menu.png

Tramite tale strumento è possibile gestire le icone SVG sul server in modo semplice ed intuitivo.

_images/g3wsuite_administration_file_manager.png

La cartella SVG sul server deve riflettere la struttura in sottocartelle della directory dedicata a raccogliere le icone SVG extra da parte di QGIS

NB: il nome di questa directory viene definito dalle impostazioni di base impostate durante l”installazione della suite. Vedi paragrafo dedicato

NB: si ricorda che lo strumento File Manager permette di gestire anche la sincronizzazione dei dati geografici (nel caso di utilizzo di file fisici) e la gestione dei file multimediali.

Vedi anche il paragrafo dedicato

Multi-style layer

The suite manages the presence of multiple styles associated with a layer.

It will be possible to dynamically choose the style on the cartographic client.

It will be possible to manage the styles associated with a layer from the Administration component, also by loading .qml file styles and setting the default style among those present.

Definizione dei campi consultabili per ogni layer

All”interno del progetto di QGIS è possibile anche definire, per ogni vettore, quali siano i campi disponibili in seguito ad interrogazione WMS sul servizio WebGis.

Per definire queste impostazioni si accede alle proprietà di uno dei vettori definiti precedentemente come interrogabili e si sceglie il sottomenù Campi Sorgente nella finestra Proprietà vettore.

In tale sottomenù è riportato l”elenco dei campi del vettore in esame.

La spunta del chek box della colonna WMS definisce se i valori contenuti in tale campo saranno disponibili o meno in seguito all”interrogazione sul servizio WebGis.

_images/qgislayerproperties_wmsfields.png

Definizione del form di visualizzazione degli attributi

Per ogni layer è possibile definire la struttura del form degli attributi associato alla visualizzazione dei risultati in seguito ad operazioni di interrogazione.

Su QGIS è infatti possibile andare a costruire una maschera di inserimento (query form) personalizzato creando Schede e Gruppi tematici e definendo la distribuzione dei singoli campi ed i loro alias all”interno di essi.

Tale organizzazione strutturale sarà replicata direttamente sul query form sul servizio WebGis come riportato nell”immagine precedente

The current version of QGIS also handles conditional forms and cascade drill-downs

Layer basic information

If you set a descriptive information in the Abstract form of the QGIS Server session of the Layer Properties, this information will be associated with the layer at the webgis level.

Temporal settings

This functionality is only available using QGIS Server >= 3.26

This version of G3W-SUITE manages the temporal aspects for both vector and raster layers but with limitations:

  • vector layers: limited to the Single filed with Date/Time configuration

  • raster layers: only for NetCDF file upload as raster (no Mesh)

images/manual/qgislayerproperties_displayform_relations.png

Visualizzazione di contenuti multimediali

Contenuti multimediali (immagini, pdf, URL web…) possano essere visualizzati in modo interattivo sul client cartografico in seguito a pubblicazione del progetto come servizio WebGis.

Nel caso di link web è sufficiente riportarli (preceduti dal prefisso http:// o https://) all’interno del campo degli attributi dedicato

Per il caso di file multimediali è invece necessario:

  • caricare il file multimediale nell’apposita cartella media_user (cartella esposta su web) presente nella sessione File Manager del Pannello di Amministrazione della suite

  • inserire, nel campo degli attributi dedicato, il link web a tale file

Il link al file può essere ricavato nel seguente modo:

  • dominio applicativo + media_user + path di eventuali sottocartelle + nome del file

Esempio:

  • dominio applicativo: https://dev.g3wsuite.it

  • file scheda_A.pdf situato nella cartella /media_user/schede/

  • link web: https://dev.g3wsuite.it/media_user/schede/scheda_A.pdf

In seguito ad interrogazione del layer in oggetto attraverso il client cartografico, in base al tipo di contenuto multimediale, avremmo i seguenti casi:

  • immagine: visualizzazione dell’anteprima nel form, click sull’anteprima per la visualizzazione in sovraimpressione dell’immagine a dimensioni reale

  • link web o file multimediali: visualizzazione di tasto arancione con la scritta Apri per permettere la consultazione del contenuto

_images/qgis_form_attribute.png

_images/qgislayerproperties_displayform.png

Ottimizzazione delle prestazioni

Regole obbligatorie

  • PostGreSQL/PostGis, SQLite/Spatialite and GeoPKG layers must have a primary key

  • the primary key field and all fields involved in search, join, 1:n or N:M relations or editing function have to be published as WMS

  • don”t use commas for aliases associated with layers

  • style settings defined at the auxiliary data level are not supported

Suggerimenti

  • quando si utilizza la vestizione categorizzata/basata su regole, creare indici sulle colonne coinvolte nell”espressione della regola

  • avviare il progetto con solo pochi layer attivati di default

  • non superare i tre livelli di annidamento nei gruppi di layer definiti nella TOC

G3W-FRONTEND: il portale di accesso

In questo paragrafo si descrivono le diverse sezioni del portale di accesso e la modalità di login al Pannello di Amministrazione

Le sessioni del portale di accesso

L”applicativo G3W-SUITE sarà raggiungibile tramite un qualsiasi browser internet (FireFox e Chrome fortemente consigliati) tramite l”indirizzo URL definito in fase di installazione.

Nel caso abbiate installato anche il modulo relativo al front-end dal relativo repository GitHub repository, l”accesso all”applicazione avverrà tramite tale portale

The home page will contain, in addition to a brief and customizable presentation of the service, also:

  • a menu at the top right side _images/g3wsuite_portal_menu_toprigth.png with the following items:

    • Change language

    • Go back to the home page

    • Login

  • a panel menu on the right with the following items:

    • Mappe

    • Info

_images/g3wsuite_portal_frontend.png

La maggior parte delle informazioni riportate nel portale di accesso sono definibili dalla sessione Configurazioni Edit General Data raggiungibile dall’icona posta nell”angolo in alto a destra nel Pannello di Amministrazione.

_images/g3wclient_icon_config.png

Info

The Info session can contains a small introduction and contact information for your company or public facility.

_images/g3wsuite_portal_aboutit.png

Mappe

In G3W-SUITE è possibile organizzare i singoli servizi WebGis in contenitori gerarchici (MacroGruppi e Gruppi Cartografici)

Accedendo alla sessione Mappe si visualizzeranno i singoli Macrogruppi (se presenti), l’accesso al Macrogruppo permetterà di visualizzare i Gruppi Cartografici associati e da questi accedere all”elenco dei singoli servizi WebGis.

I MacroGruppi, i Gruppi e i servizi WebGis elencati saranno quelli ad accesso libero.

Nel caso possediate un utente per l”accesso, potete autentificarvi tramite la sessione Login ed inserendo gli user e password in vostro possesso.

In seguito all”autenticazione la pagina Mappe mostrerà anche i MacroGruppi, i Gruppi e i servizi WebGis ad accesso riservato e su cui l’utente ha permessi di accesso.

_images/g3wsuite_portal_macrogroups.png

_images/g3wsuite_portal_groups.png

Login

Nel caso possediate un utente per l”accesso, potete autentificarvi tramite questa sessione inserendo gli user e password in vostro possesso.

Se siete utente Amministratore o Editor di 1 o 2 livello, potrete anche accedere alla sessione di Amministrazione.

Una volta loggati si accede alla sessione viola Amministrazione e da qui, tramite il tasto Amministrazione al relativo pannello.

_images/g3wsuite_portal_login.png

G3W-ADMIN: il pannello di Amministrazione

In questa sezione si descrive come gestire i vari aspetti e funzionalità della Suite:

  • personalizzazione del portale di accesso

  • creazione e gestione utenti (singoli e gruppi)

  • creazione di MacroGruppi e Gruppi cartografici e definizione delle politiche di accesso e gestione

  • Pubblicazione/Gestione di nuovi servizi WebGis

  • aggiornamento e gestione di servizi WebGis (tool di ricerca e funzioni aggiuntive)

Descrizione dell”interfaccia

Il Pannello di Amministrazione permette di gestire tutti gli aspetti legati alla pubblicazione e alla configurazione dei progetti QGIS come servizi WebGis

La pagina principale del Pannello di Amministrazione mostra:

  • una barra in alto:

    • Frontend: per tornale sul portale di accesso

    • Nome utente: per modificare il proprio profilo e uscire dall”applicazione

    • Linguaggio*: lingua dell”interfaccia

    • A gear icon _images/iconconfiguration.png: to access a menu with:

      –> Edit general data: per settare le informazioni mostrate sul front-end.

      –> Amministrazione Django (solo per Admin1) per settare aspetti avanzati di configurazione Django

      –> Files: per accedere allo strumneto File Manager per caricare/sincronizzare dati sul server»

  • un menù testuale a sinistra:

    • Scrivania: per accedere alla home del Pannelo di Amministrazione

    • Gruppi Cartografici: per creare/gestire i Gruppi Cartografici

    • MacroGruppi Cartografici: per creare/gestire i MacroGruppi Cartografici

    • Utenti: per creare/gestire utenti singoli e/o gruppi di utenti dell”applicativo

    • Lista moduli attivi: per creare/gestire i moduli funzionali attivi nella vostra installazione

  • una interfaccia grafica a centro pagina

    • Dashboard: con l”accesso ai Gruppi Cartografici tematici

    • Widget del modulo: per accedere velocemente alla gestione dei moduli attivi

_images/g3wsuite_administration_desk.png

Personalizzazione portale accesso

Dalla pagina principale del Pannello di Amministrazione è possibile personalizzare le informazioni riportate nel Portale di accesso.

Per modificare queste impostazioni si clicca sull”icona Configurazioni _images/iconconfiguration.png posta in fondo alla barra in alto e si clicca poi sulla voce Modifica i dati generali che apparirà nel menù sottostante.

_images/g3wsuite_administration_configuration.png

Nel form Dati generali della suite è possibile definire:

  • Dati Home: info che appariranno nella home page del portale

  • Dati Chi Siamo: info che appariranno nella sessione About it

  • Dati Gruppi di Mappa del Frontend: info che appariranno nella sessione Mappe

  • Dati Login Frontend: info che appariranno nella sessione Accesso/Amministrazione

  • Dati Social Media: link ai canali social che appariranno nella sessione About it

  • Map Client data: titolo che verrà visualizzato come intestazione principale del client cartografico

Dati Home

Informazioni che appariranno nella home page del front-end

ATTENZIONE: i contenuti caratterizzati da * sono obbligatori.

_images/g3wsuite_administration_configuration_homedata.png

_images/g3wsuite_administration_configuration_homedata_result.jpg

Dati Chi Siamo

Informations that will appear in the Info session

ATTENZIONE: i contenuti caratterizzati da * sono obbligatori.

_images/g3wsuite_administration_configuration_aboutusdata.png

_images/g3wsuite_administration_configuration_aboutusdata_result.jpg

Dati Gruppi di Mappa del Frontend

Informazioni che saranno visualizzate nella sessione Mappe

ATTENZIONE: i contenuti caratterizzati da * sono obbligatori.

_images/g3wsuite_administration_configuration_mapgroupsdata.png

_images/g3wsuite_administration_configuration_mapgroupsdata_result.jpg

Dati Login Frontend

Informazioni che saranno visualizzate nella sessione Accesso/Amministrazione

ATTENZIONE: i contenuti caratterizzati da * sono obbligatori.

_images/g3wsuite_administration_configuration_logindata.png

_images/g3wsuite_administration_configuration_logindata_result.jpg

Dati Social Media

Link ai canali social che saranno visualizzate nella sessione About it

ATTENZIONE: i contenuti caratterizzati da * sono obbligatori.

_images/g3wsuite_administration_configuration_socialdata.png

_images/g3wsuite_administration_configuration_socialdata_result.jpg

Map Client Data

Titolo che verrà visualizzato come intestazione principale del client cartografico.

_images/g3wsuite_administration_configuration_mapclientdata.png

_images/g3wsuite_administration_configuration_mapclientdata_result.jpg

In questa ultima sessione è possibile anche definire un testo che si andrà ad aggiungere a quello predefinito, consultabile dal tasto Credits sul client cartografico.

Successivamente alla compilazione dei vari form si clicca sul pulsante Salva per confermare le scelte.

_images/buttom_save.png

Gestione Utenti e Gruppi

Nel menù laterale sinistro è presente la voce UTENTI con quattro sottovoci:

  • Aggiungi utente

  • Lista utenti

  • Aggiungi gruppo utenti

  • Lista gruppi utenti

Please note that the Suite is equipped with a dedicated module for the integration of Active Directory users via LDAP.

Aggiungi utente

Tramite questo form è possibile inserire nuovi utenti e definirne le caratteristiche.

  • Anagrafica: nome, cognome ed indirizzo mail

  • Dati di accesso: nome utente e password

  • User backend

  • ACL/Roles

    • Privilegi di superutente (solo utenti di tipo Admin1 e Admin2)

    • Privilegi di staff: amministrazione profonda dell”applicativo (solo utenti Admin1)

    • Ruoli principali di appartenenza (Editor Level 1, Editor Level 2 o Viewer)

    • User Editor groups: eventuale gruppo di utenti Editor2 di appartenenza

    • User Viewer groups: eventuale gruppo di utenti Viewer di appartenenza

  • Dati utente:

    • Dipartimento e immagine da associare al profilo:

_images/g3wsuite_administration_user_add.png

Successivamente alla compilazione dei vari form si clicca sul pulsante Salva per confermare le scelte.

_images/buttom_save.png

Lista utenti

Tramite questo form è possibile consultare la lista degli utenti abilitati e le loro caratteristiche:

  • Username

  • Ruolo

  • eventuali Gruppi di utenti di appartenenza

  • eventuali MacroGruppi Cartografici associati (solo per utenti Editor1)

  • privilegi di Super utente e/o Staff

  • E-mail, nome e cognome

  • Data di creazione

  • Info su creazione utente (G3W-SUITE o LDAP)

_images/g3wsuite_administration_user_list.png

Tramite le icone posto a capo di ciascuna riga è possibile:

  • _images/icon_edit.png Modifica: per modificare le caratteristiche dell”utente

  • _images/icon_erase.png Cancella: per eliminare definitivamente un utente

Aggiungi Gruppo utenti

Tramite questo form è possibile inserire nuovi gruppi di utenti e definirne il ruolo.

E’ possibile creare solo due tipologie di gruppi di utente:

  • Editor: in cui possono essere inseriti solo utenti di tipo Editor2

  • Viewer: in cui possono essere inseriti solo utenti di tipo Viewer

L’associazione tra utente e gruppi di utenti viene realizzata a livello di gestione del singolo utente.

Nell’apposito form di creazione dei gruppi di utente si definiscono:

  • Nome

  • Ruolo (Editor o Viewer)

_images/g3wsuite_administration_usergroup_add.png

Successivamente alla compilazione del form si clicca sul pulsante Salva per confermare le scelte.

_images/buttom_save.png

Lista gruppi utenti

Tramite questo form è possibile consultare la lista dei gruppi di utenti abilitati, le loro caratteristiche e i singoli utenti appartenenti al gruppo.

_images/g3wsuite_administration_usergroup_list.png

Tramite le icone posto a capo di ciascuna riga è possibile:

  • _images/icon_view.png Mostra dettagli: per consultare le caratteristiche del gruppo

  • _images/icon_edit.png Modifica: per modificare le caratteristiche del gruppo

  • _images/icon_erase.png Cancella: per eliminare definitivamente un gruppo e quindi l’associazione con gli utenti appartenenti al gruppo stesso

Macrogruppi Cartografici

In questa sezione è possibile visualizzare la lista dei Macrogruppi Cartografici, gestirli e crearne di nuovi.

ATTENZIONE: utilizza I MacroGruppi Cartografici solo se ne hai bisogno.

See chapter Hierarchical organization of WebGis services and types of Users to learn more about this aspect.

Un Macrogruppo nasce, ad esempio, per raccogliere una serie di Gruppi Cartografici appartenenti ad un medesimo Ente (singolo Comune all”interno di un Unione di Comuni) o più semplicemente per avere contenitori principale che contengono raggruppamenti di secondo livello (Gruppi).

Nel menù laterale sinistro è presente la voce MacroGruppi Cartografici con due sottovoci:

  • Aggiungi MacroGruppo: per creare un nuovo MacroGruppo Cartografico

  • Lista MacroGruppi: per accedere alla lista dei MacroGruppi presenti

Aggiungi MacroGruppo

Tramite questa voce, disponibile per il solo utente Admin, sarà possibile creare un nuovo MacroGruppo Cartografico ed associarlo ad un utente di tipo Editor1 che ne diverrà l’amministratore.

Vediamo in dettaglio le varie sottosessioni del form di creazione del gruppo.

ACL Utenti

Editor users: si definisce l”utente Editor di I livello che diverrà l”amministratore del gruppo. Tale utente potrà gestire il MacroGruppo creandovi Gruppi tematici, pubblicando progetti e creando Utenti o Gruppi di Utenti associati.

Dati generali
  • *Identificativo : un identificatico generico interno (non mostrato nel front end)

  • Titolo*: titolo descrittivo del MacroGruppo (apparirà nella lista dei MacroGruppi)

    • Utilizza il titolo per il client

    • Utilizza il logo per il client**

  • Descrizione: descrizione associata al macroGruppo a livello di front end

  • Logo img*: il logo da associare al MacroGruppo nel frontend e, eventualmente, nell”intestazione del client

Per impostazione predefinita, l”intestazione del client della mappa, per ogni servizio WebGis, è composto da:

  • titolo principale (se impostato a livello di gestione dei Dati Generali)

  • logo e titolo associato al Gruppo Cartografico

  • titolo del servizio WebGis.

Se si selezionano le opzioni Usa titolo e logo del MacroGroup per il client, l”intestazione del client della mappa, per ciascun servizio WebGis, sarà invece composto da:

  • titolo principale (se impostato a livello di gestione dei Dati Generali)

  • logo e titolo associato al MacroGruppo Cartografico

  • titolo del servizio WebGis.

Successivamente alla compilazione del form si clicca sul pulsante Salva per confermare le scelte.

_images/buttom_save.png

Lista MacroGruppi

Dal menù si accede alla lista dei MacroGruppi Cartografici presenti.

_images/g3wsuite_administration_macrogroup_list.png

Sono presenti poi una serie di pulsanti per accedere alle funzioni specifiche:

  • _images/icon_view.png Mostra i dettagli del MacroGruppo

  • _images/icon_edit.png Modifica caratteristiche del MacroGruppo

  • _images/icon_erase.png Cancella MacroGruppo

ATTENZIONE: la rimozione di un gruppo MacroGruppo cartografico comporterà:

  • la rimozione di tutti i Gruppi Cartografici in esso contenuti

  • la rimozione di tutti i progetti cartografici contenuti nei singoli Gruppi

  • la rimozione di tutti i widget (es. ricerche) che rimarrebbero orfani dopo la rimozione dei progetti cartografici contenuti nel gruppo. Vedi capitolo Widget per maggiori informazioni.

Ordine di visualizzazione dei MacroGruppi nel FrontEnd

Tramite la funzione di Drag&Drop è possibile definire l”ordine dei MacroGruppi nella lista. Tale ordine si rifletterà nel FronEnd.

Gruppi Cartografici

In questa sezione è possibile visualizzare la lista dei Gruppi Cartografici presenti, gestirli e crearne di nuovi.

Un Gruppo Cartografico nasce per raccogliere una serie di progetti cartografici appartenenti, ad esempio, ad un medesimo tematismo (Regolamento Urbanistico, carte turistiche…) e caratterizzati dallo stesso sistema di proiezione.

Da ricordarsi che, in fase di visualizzazione dei servizi WebGis, sarà possibile passare da un progetto cartografico ad un altro, lasciando fissa l”estensione geografica visualizzata, solo tra i progetti contenuti nello stesso gruppo cartografico.

Nel menù laterale sinistro è presente la voce Gruppi Cartografici con due sottovoci:

  • Aggiungi Gruppo: per creare un nuovo gruppo cartografico

  • Lista Gruppi: per accedere alla lista dei gruppi presenti

E” possibile accedere alla lista dei gruppi anche cliccando sul tasto Mostra presenti nel box Gruppi sulla Scrivania.

Aggiungi Gruppo

Tramite questa voce è possibile creare un nuovo gruppo tematico.

Creando un gruppo tematico si vanno anche a definire alcune caratteristiche e moduli funzionali che l”interfaccia WebGis mostrerà per tutti i progetti cartografici pubblicati all”interno del gruppo.

Vediamo in dettaglio le varie sottosessioni del form di creazione del gruppo.

Dati generali
  • *Nome : un identificatico generico interno (non mostrato nel front end)

  • Titolo*: titolo descrittivo del gruppo (apparirà nella lista dei Gruppi CArtografici)

  • Descrizione: descrizione libera del gruppo (apparirà accedendo al gruppo)

  • Linguaggio*: lingua dell”interfaccia

Logo immagine
  • Header logo img*: il logo da visualizzare in alto a sinistra dell”interfaccia WebGis

  • Utilizza il logo per il client**

  • Link logo: un eventuale link da associare al logo

REMEBER

Per impostazione predefinita, l”intestazione del client della mappa, per ogni servizio WebGis, è composto da:

  • titolo principale (se impostato a livello di gestione dei Dati Generali)

  • logo e titolo associato al Gruppo Cartografico

  • titolo del servizio WebGis.

Se si selezionano le opzioni Usa titolo e logo del MacroGroup per il client, l”intestazione del client della mappa, per ciascun servizio WebGis, sarà invece composto da:

  • titolo principale (se impostato a livello di gestione dei Dati Generali)

  • logo e titolo associato al MacroGruppo Cartografico

  • titolo del servizio WebGis.

If you select the Use Group logo for the client options, the map client header, for each WebGis service, will instead consist of:

  • titolo principale (se impostato a livello di gestione dei Dati Generali)

  • title associated with the Cartographic MacroGroup

  • logo associated with the Cartographic Group (if MacroGroup logo option is active this options takes precendence)

  • titolo del servizio WebGis.

ACL Utenti

Si gestiscono accessi e poteri di modifica.

Le opzioni presenti varieranno in base al tipo di utente (Admin o Editor1) che crea/gestisce il Gruppo

  • Utente Editor1: si definisce l”utente (Editor1) gestore del Gruppo. La voce è presente solo quando è l’utente di tipo Admin a creare il Gruppo. In caso il Gruppo sia creato da un utente di tipo Editor1, il Gruppo viene associato direttamente a tale utente

  • Utente Editor2: si definisce l”utente (Editor2) gestore del Gruppo.

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

  • Editor user groups: si definiscono i gruppi di utenti (Editor2) gestori del Gruppo.

  • Viewer user groups: si definiscono i gruppi di utenti (Viewer) che hanno le credenziali per visualizzare il contenuto del gruppo.

L”opzione Propaga i permessi per gli utenti Viewer (singoli e gruppi) ti consente di propagare gli utenti Viewer (individui e/o gruppi)associati al Gruppo a TUTTI i servizi WebGis presenti in esso.

Tale opzione annulla eventuali differenziazioni nelle politiche di accesso applicate ai servizi WebGis contenuti nel Gruppo.

_images/g3wsuite_administration_group_add_acl.png

MacroGruppo

Eventuale definizione del MacroGruppo di appartenenza.

Questa opzione è disponibile solo se è l’utente Admin a creare il Gruppo Cartografico.

Nel caso in cui il Gruppo sia creato da un utente di tipo Editor1, il Gruppo verrà associato automaticamente al MacroGruppo associato all’Editor1 stesso.

GEO dati

Sistema di proiezione associato al gruppo.

N.B. Tutti i progetti caricati nel gruppo dovranno essere associati a questo SRID.

Base layers and Map interaction tools

In questo box è possibile definire:

  • Mapcontrols*: elenco degli strumenti (pulsanti) disponibili sul client WebGis:

    • zoomtoextent: zoom all”estensione iniziale

    • zoom: zoom in e zoom out

    • zoombox: strumento di zoom basato su disegno di un rettangolo

    • query: interrogazione puntuale strati geografici

    • querybbox: query via bounding box (N.B. it is necessary that the layers are published as WFS services on the QGIS project)

    • querybypolygon: it will be possible to automatically query the features of one or more layers that fall inside a polygonal element of a guide layer. (Eg what”s inside a cadastral parcel?). - N.B. it is necessary that the all the layers involved in this kind of query are published as WFS services on the QGIS project

    • overview: presenza di mappa panoramica

    • scaleline: presenza della barra di scala

    • scale: strumento per la deinizione della scala di visualizzazione

    • mouseposition: visualizzazione coordinate posizione del mouse

    • geolocation: geolocation tool (available only with https certificate)

    • nominatin: strumenti ricerca indirizzi e toponimi basato su OSM

    • streetview: Google StreetView on your map

      • in the presence of GoogleMaps API Key, StreetView it is integrated on the client and synchronized with the position and direction of the icon on the map

      • in the absence of GoogleMaps API Key, StreetView it will open on a new browse tab without the aspects of synchronization with the map

    • length: strumento di misura di tratti lineari

    • area: strumento di misura di superfici

    • addlayers: tool for temporarily uploading GML, GeoJson, KML, GPX, SHP (zipped) and CSV with coordinate to WebGis. These layers will remain until the end of the work session

    • screenshot:* tool to take a screenshot of the map area

    • GeoScreenshot:* tool to create a GeoTIFF of the map area

  • Baselayer: scelta delle mappe di base che risulteranno disponibili sul client WebGis

  • Background color: scelta del colore di sfondo delle mappe (bianco di default)

*NB: the security protocols prevent the creation of screenshots if WMS services with domains other than the publication one are present on the map. In this case the icons will not be present on the client even if the MapControl is selected. To avoid this, set the WMS as external WMS in the Widget managment session.

_images/g3wsuite_administration_group_add_geodata.png

With regard to the Base Layers, it is specified that the external services available by default are:

  • OSM

It is also possible to add Bing and Google maps to the Base Layers but it is first necessary to acquire the respective API Keys and set them in the Django settings level.

Remember that it is possible to build customized Base Layers starting from projects published on the suite.

In this regard, consult the session Base map layer

It is possible to create/add customized Base Layers starting from the cache of the single layers present in published webgis

See Caching layer paragraph in the Widget management session.

Copyrigth

Termini di utilizzo: descrizione dei termini di utilizzo della mappa e di qualsiasi altra info

Successivamente alla compilazione dei vari form si clicca sul pulsante Salva per confermare le scelte.

_images/buttom_save.png

Lista Gruppi Cartografici

Dal menù si accede alla lista dei Gruppi Cartografici presenti.

Per ogni gruppo sono riportati Titolo e Sottotitolo definiti al momento della creazione.

Sono presenti inoltre una serie di pulsanti per accedere alle funzioni specifiche:

  • _images/icon_add.png Aggiungi un nuovo progetto da pubblicare su servizio WebGis

  • Numero e link ai progetti pubblicati all’interno del Gruppo

  • _images/icon_view.png Mostra i dettagli del gruppo

  • _images/icon_edit.png Modifica caratteristiche del gruppo

  • _images/icon_erase.png Cancella gruppo

ATTENZIONE: la rimozione del gruppo cartografico comporterà:

  • la rimozione di tutti i servizi WebGis in esso contenuti

  • la rimozione di tutti i widget (es. ricerche) che rimarrebbero orfani dopo la rimozione dei servizi WebGis contenuti nel gruppo. Vedi capitolo Widget per maggiori informazioni.

E” infine presente un grosso tasto + per accedere al form di creazione di un nuovo gruppo.

_images/g3wsuite_administration_group_list.png

Ordine di visualizzazione dei Gruppi cartografici nel FrontEnd

Tramite la funzione di Drag&Drop è possibile definire l”ordine dei Gruppi nella lista.

Tale ordine si rifletterà all”interno dei MacroGruppi di appartenenza.

NB: attualmente nella lista dei Gruppi non è presente al suddivisione nei MacroGruppi di appartenenza ma il fatto che un Gruppo possa essere associato ad un solo MacroGruppo permette comunque di gestire in modo intuitivo quello che sarà l”ordine di visualizzazione.

Pubblicazione di nuovi servizi WebGis

Pubblicare un nuovo progetto cartografico QGIS

E” possibile pubblicare nuovi progetti QGIS:

  • dalla lista dei gruppi cartografici: cliccare sul tasto _images/button_add_qgis_project.png posto sotto il box del gruppo cartografico nel quale si vuole, appunto, pubblicare il progetto.

  • dalla lista dei progetti cartografici pubblicati all”interno di un gruppo: cliccando sulla voce

Nel form a cui si avrà accesso potremmo definire gli aspetti del progetto in pubblicazione:

Progetto QGIS

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

ACL Utenti

Gestione poteri di accesso e gestione

Le opzioni presenti varieranno in base al tipo di utente (Admin, Editor1 o Editor2) che crea/gestisce il servizio WebGis

  • Utente Editor1: si definisce l”utente (Editor1) gestore del servizio WebGis.

La voce è presente solo quando è l’utente di tipo Admin a creare il servizio WebGis.

Nel caso in cui il servizio WebGis sia pubblicato da un utente di tipo Editor1, il servizio WebGis viene associato direttamente a tale utente

  • Utente Editor2: si definisce l”utente (Editor2) gestore del servizio WebGis.

    La voce è presente solo quando è l’utente di tipo Admin od Editor1 a creare il servizio WebGis. Nel caso in cui il servizio WebGis sia pubblicato da un utente di tipo Editor2, il servizio WebGis viene associato direttamente a tale utente

  • 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 Editor: si definiscono i gruppi di utenti (Editor2) gestori del servizio.

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

_images/g3wsuite_administration_project_add_acl.png

BaseLayer predefinito

In questa sessione si va a definire quale strato di base 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 del servizio webGis, mostrato a livello di front end e sulla barra del client.

  • 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. Sono concessi solo caratteri alfanumerici, no spazi o caratteri speciali

The title associated with the WebGis service is inherited by the following settings evaluated in the following order of priority:

  • Titolo pubblico: se settato

  • QGIS project title: if set on the General session of QGIS project properties

  • Name of the QGIS project file

Opzioni e azioni
  • 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))

  • Tab's TOC active as default: set tab”s TOC (Layers, Base layers, Legend) open by default on startup of webgis service

  • Tab’s TOC layer initial status: it is possible to define whether the TOC layer list is collapsed or expanded when the WebGis service is started

  • Map themes list initial status: it is possible to define whether the list of themes (views) possibly associated with the project is collapsed or expanded when the WebGis service is started

  • Legend position rendering: this option allows to set legend rendering position:

    • In a separate TAB: default value, the legend is rendered into a separate tab

    • Into TOC layers: the legend is rendered inside layers toc

  • Automatic zoom to query result features: if in the results of a search there are only features of a layer, the webgis automatic zoom on their extension

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

ATTENZIONE: i contenuti caratterizzati da * sono obbligatori.

_images/g3wsuite_administration_project_add_option.png

Successivamente alla compilazione dei vari form si clicca sul pulsante Salva per confermare le scelte.

_images/buttom_save.png

Se l”operazione va a buon fine vedremo apparire il nuovo progetto all”interno della lista dei progetti inclusi nel gruppo tematico in cui si stava lavorando.

_images/g3wsuite_administration_project_addproject_result.png

_images/g3wsuite_portal_groups.png

Embedded project

It is possible to publish QGIS projects that contain layers or groups of layers deriving from embedded projects. It is clearly necessary to publish the embedded project first and then those derived from it. An update of the embedded project will result in a consequent modification of all derived projects. The request to delete the basic embedded project causes a warning message as this operation will cause problems on all derived projects.

Define the WebGis order on the FrontEnd

The order of the WebGis services listed within the Thematic Group at the FrontEnd level reflects the order defined at the level of the corresponding administration session. It is possible to define a custom order by moving the published projects via drag&drop.

Aggiornare/Gestire servizi WebGis

Per aggiornare un servizio WebGis pubblicato accedi alla lista dei progetti presenti nel Gruppo Cartografico.

Clicca sull’icona Edit _images/iconsmall_edit.png posta in testa al servizio WebGis e ricaricare il file QGIS con le modifiche apportate nel relativo form.

Clicca sul tasto SALVA per confermare la modifica.

Sempre partendo dalla lista dei servizi WebGis è possibile gestire numerosi aspetti funzionali ad essi associati.

_images/g3wsuite_administration_project_manage.png

Strumenti base

In questa sezione è quindi possibile visualizzare la lista dei progetti cartografici presenti, visualizzarli, gestirli e crearne di nuovi.

Tramite le singole icone, poste a livello di ogni progetto, è possibile:

  • _images/iconsmall_viewmap.png Visualizzare su interfaccia WebGis il progetto cartografico: per verificare la visualizzazione da parte dell”utente

  • _images/iconsmall_layerlist.png Accedere alla lista degli strati presenti all”interno del progetto e definirne aspetti funzionali

  • _images/iconsmall_view.png VShow details: for each WebGis service it will be possible to access a detailed summary that will list all the activated settings and widgets:

    • access and modification permissions

    • the list of active searches

    • editing permissions on individual layers

    • definition of alphanumeric and geographical constraints

    • visibility constraints on layers

    • visibility constraints on attribute fields

  • _images/iconsmall_wms.png Testare le Capabilities WMS del layer

  • _images/iconsmall_edit.png Aggiornare un progetto cartografico: aggiornamento del file QGIS e delle altre opzioni correlate al progetto

  • _images/iconsmall_erase.png Rimuovere un progetto cartografico. Attenzione: rimuovendo un progetto si rimuovono anche tutti i widget (es. ricerche) che rimarrebbero orfani dopo la rimozione del progetto

  • _images/iconsmall_download.png _images/iconsmall_wms.png Scaricare il progetto QGIS associato

  • _images/iconsmall_ogc.png List of OGC services associated with the project

Impostazione della mappa panoramica per i servi WebGis

In questa sessione è possibile anche definire quale, tra i progetti cartografici caricati all”interno del gruppo, dovrà essere utilizzato come mappa panoramica.

Per impostare la mappa panoramica è sufficiente spuntare il check box relativo al progetto prescelto nella colonna Panoramica.

Strumenti e funzioni aggiuntive

Una volta pubblicato un progetto cartografico, tramite l”icona Lista layer _images/iconsmall_layerlist.png è possibile accedere alla lista degli stati geografici che lo compongono e definire alcuni aspetti di tipo funzionale che saranno abilitati a livello del client.

_images/g3wsuite_administration_project_layer_list.png

Accanto ad ogni strato sono riportate una serie di icone e checkbox:

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

    • The eye icon allows you to know the ID associated with the layer at the project level, this ID will be useful for creating parameterized URLs

  • 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 external: to speed up loading, the WMS layers present in a QGIS project are managed directly by Django and not by QGIS-Server.

    • In case of non-external WMS, the service is managed by Django and this eliminates cross-domain problems but the only managed GetFeatureInfo response type is GML.

    • The external WMS option allows obtaining a response to the query (GetFeatureInfo) even if the response is not in GML but also in HTML or text/plain format.

  • 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: permette di attivare e gestire la cache del singolo layer a livello del progetto

    • _images/icon_editing.png Editing layer: mostra se sullo strato è attiva la funzione di editing on line e permette di attivarla e definirla

    • images/manual/icon_filter_layer.png Hide layer by user/groups: hide specific layers from the TOC based on specific users or groups of users

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

    • _images/icon_geoconstraints.png Geo-constraints by user/group: create or manage editing and visualization geo-constraints based on poligonal layers

    • _images/icon_alpha_constraints.png Alphanumeric and QGIS expressions constraints by user/groups: create or manage editing and visualization constraints based on SLQ language or QGIS expressions

    • images/manual/icon_hide_columns.png Hide columns by User/Groups: create or manage constraints on one or more fields of a layer based on single or group user/s

    • _images/icon_widget.png Widgets list: shows how many widgets (eg searches) are associated with this layer and allows you to activate new ones

    • images/manual/icon_styles.png Manage layer styles: manage multi-style layer

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

    • Download as shp/geotiff: for vector and raster layers

    • Download as GPK: for geographic or not geographic 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

  • Not show attributes table: hide attributes table of the layer for every users

  • No legend: permette di definire se lo strato deve avere o meno pubblicata la legenda a livello di TOC del client WebGis

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

The functions present in the Actions session are described below.

_images/icon_cache.png Caching layer (Base Map)

With this icon it is possible to activate/manage the cache of the single layers and create XYZ Tiles layer that you can use as Base Layer in your webgis.

The form allows you to:

  • Active: enable cache on the layer

  • Action:

    • Reset cache: limited to the specific layer

    • Reset cache for project: reset cache of all the layers in the project

If the published project contains only one layer is it possible to convert this WebGis service into a Base Layer.

To do this you need to activate the Base layer option form and fill in the second part of the form:

  • Base layer title

  • Base layer description

  • Base layer attribution

The newly created base layer will be available to be associated with those available for the various Cartographic Groups.

_images/icon_editing.png Editing layer

Through this icon it is possible to activate the online editing function on the individual layers and define the permissions for individual / groups of users

Consulta il paragrafo dedicato nella sessione relativa all”Editing on line.

images/manual/icon_filter_layer.png Hide layer by user/groups

With this icon it will be possible to define the list of users (single and/or groups) who will be enabled to view this layer at the TOC and map level.

images/manual/g3wsuite_administration_hide_layer.png

_images/icon_dataplotly.png QPlotly widget

View 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 (checkink the Linked checkbox) the same plots on all WebGis services in which the reference layer is present.

It is also possible:

  • download the plot XML file to reuse it in QGIS

  • define the activation status of the plots when the WebGis service is started

_images/g3wsuite_administration_plots.png

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

At client level, it will be possible to filter plots based on the geometries visible on the map and/or selected by the user.

_images/g3wsuite_qgis_plots.png _images/g3wsuite_client_plots.png

Charts based on 1:N data relation (child layer)

If the chart is linked to a child layer in a 1:N relation, it can also be displayed at the information level of the individual parent features

images/manual/g3wclient_fomr_1N_plots.png

_images/icon_geoconstraints.png _images/icon_alpha_constraints.png Display and editing constraints

Through the Geo-constraints by user/group and Alphanumeric and QGIS expressions constraints by user/groups widgets it is possible to define editing and display filters for users authorized to consult/edit the project.

Consulta il paragrafo dedicato nella sessione relativa all”Editing on line.

images/manual/icon_hide_columns.png Hide columns by User/Groups

Thanks to this function it is possible to hide specific fields of a layer for consultation. This constraint can be differentiated for individual users or groups of users.

This setting is also available for the AnonymousUser user

To activate this type of constraint, you must click, at the level of the layer of interest, on the Hide columns by User/Groups icon images/manual/icon_hide_columns.png.

Clicking on the icon will show the list of any existing alphanumeric column constraints and the item + Create New Column Level constraints to create a new one.

images/manual/g3wsuite_administration_hide_columns_new.png

Clicking on the item will open a modal window which will allow you to define:

  • user or group of user

  • list of fields to hide to them

Once all the constraints have been setted, click on the OK to confirm the rules.

_images/icon_widget.png Widget setting - Search tools

Using this icon it is possible to associate a series of widgets to the layer. The basic widget allows you to define search tools that will be available in the webgis.

Basic settings

In G3W-SUITE è possibile creare dei widget di ricerca che saranno disponibili a livello di client cartografico.

By default, searches can be built on individual vector layers based on the fields of the table associated with the layer.

NB: to create searches based on fields derived from simple joins (1:1/N:1) or from 1:N relation, you have to change the setting of the method used (from WMS to QGIS API). See dedicated paragraph.**

Every search widget will be saved by referring to the layer identifiers (for example the DB parameters: IP, DB name, schema, layer name).

Questo aspetto permette, una volta creato un widget di ricerca per un layer, di averlo disponibile su tutti i progetti in cui è presente il layer in oggetto, senza dover ogni volta ricostruite il widget ex-novo.

Nella lista degli strati presenti all”interno del progetto si individua lo strato su cui creare ed associare il widget di ricerca e si clicca sull”icona Lista Widget _images/icon_widget.png

_images/g3wsuite_administration_project_widget_list.png

Cliccando sull’icona sarà mostrata la lista dei widget già attivi (o attivabili) associati allo strato.

Tali widget potranno essere modificati, eliminati o scollegati utilizzando le apposite icone.

ATTENZIONE: l”eliminazione di una ricerca la eliminerà da tutti i progetti in cui quella ricerca è attiva.

Per disattivare una ricerca da un progetto è sufficiente scollegarla tramite la check-box presente sulla destra.

Per creare una nuova Ricerca si clicca sul link Nuovo widget.

Nel pop-up che apparirà si sceglierà il Tipo Cerca.

_images/g3wsuite_administration_project_widget_choose.png

Nel form è possibile definire:

  • Titolo del form

    • Tipo: Cerca

    • 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 campo 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

      • DateTimeBox: widget to be used exclusively for date type fields. On the client, the user will define the date/time to search through the calendar/clock widget.

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

    • Descrizione: descrizione assegnata al campo

    • Comparison operator: comparison operator (=, <,>,> <,> =, <=, LIKE, ILIKE) through which the search query will be carried out.

    • Dependency: this parameter (optional) allows, only in the case of SelectBox or AutoCompleteBox widgets, to show the list of values of a field filtered according to the value defined for the previous fields.

Now it is possible to define the dependence more or less strong (strictly).

In case of strictly dependence, the values of the dependent fields will be loaded only after the choice of the value of the field on which the dependency depends.

Otherwise it will be possible to define the values of the individual fields freely and without a specific order. The values available for the other fields will in any case depend on the choice made.

_images/g3wsuite_administration_project_search_form.png

Attenzione: in caso di campi con più di 100 valori univoci il servizio WMS non permette di ottenere la lista completa dei valori. In questo caso si consiglia di non utilizzare il metodo SelectBox

Alternatively, you can use the QGIS API as a search method to overcome this limitation. See dedicated paragraph.

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

Nell”esempio sottostante si mostra la compilazione del form di creazione di un widget di ricerca dedicato ad un layer di cartografia catastale.

_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

IMPORTANTE: il widget di ricerca creato sarà ora disponibile (scollegato) per tutti i progetti in cui lo strato a cui è stato associato sarà presente.

Questo permetterà di non dover ricreare più volte il widget e di decidere in quale progetti attivare la ricerca e in quali no.

Search based on 1:N relation data

The option allows you to create a search based on the fields of a table (child in a 1:N relation) and obtain results relating to the parent layer of the relation.

N.B. to create searches based on fields derived from simple joins (1: 1 / N: 1) or from 1: N relation, you have to change the setting of the method used (from WMS to QGIS API). See dedicated paragraph.

The Relations option allows you to to define the relationship to be used (if present) to identify the parent layer whose results will be shown.

images/manual/g3wsuite_administration_project_search_1N.png

images/manual/icon_styles.png Manage layer styles

If multi styles have been associated with the same layer in the QGIS project, they will be exposed.

It will be possible to associate new layers by loading related QML files and set the style to be used as default.

images/manual/g3wsuite_administration_styles.png

Multilingua

By default the suite manages four languages:

  • English

  • French

  • Italian

  • Finnish

  • Swedish

Altri linguaggi possono essere aggiunti.

Client cartografico

Sulla barra in alto è possibile scegliere, tramite menù a tendina, la lingua dell”intera interfaccia del client.

_images/language_client.png

Amministrazione

Anche per il pannello di Amministrazione, tramite il medesimo menù a tendina, è possibile definire la lingua dell”intera interfaccia della console.

_images/language_admin.png

Front End

Fixed front end content is already available in the four basic languages.

I contenuti variabili, ovvero quelli definibili dall”utente, sono invece sottoposti a traduzione:

  • Sessioni Home, About, Maps e Login: contentuti definibili e traducibili nella sessione Edit General Data del Pannello di Amministrazione

  • Sessioni MacroGruppi Cartogarfici, Gruppi Cartogarfici e Servizi WebGis: contenuti definibili e traducibili nei form di definizione di tali elementi, limitatamente alle voci:

    • Titolo pubblico

    • Descrizione

Per realizzare la traduzione di tali contnuti si procede in tal modo:

  • accedere al form per la creazione dell”elemento (MacroGruppo, Gruppo o Servizio WebGis)

  • definre una delle lingue disponibili dal menù a tendina in alto a destra

  • compilare il form nella lingua prescelta

  • salvare le impostazioni

_images/language_form.png

Successivamente

  • riaccedere in modifica al form

  • cambiare la lingua

  • compilare i contenuti traducibili nella nuova lingua si salvano le impostazioni

  • salavare il nuovo settaggio

Sul fron end saranno disponibili Titoli e Descrizioni dei vari elementi nelle lingue definite.

G3W-CLIENT: the cartographic client

Aspetti generici

L”applicazione ha un”interfaccia responsiva costituita da sessioni espandibili e riducibili. La barra di testa contiene i seguenti elementi:

Il colore dell”interfaccia dipende dalla tipologia di utente loggato.

_images/g3wclient_interface.png

The header contains the following elements:

  • Logo, titolo e sottotitolo, derivanti da:

    • titolo principale (impostato a livello di Dati Generali) o nome MacroGruppo, in base alle impostazioni

    • nome Gruppo Cartografico

    • titolo servizio WebGis

  • Cambia mappa: che permette di passare da un servizio WebGis, posto all”interno del solito Gruppo Tematico, ad un altro mantenendo estensione e scala di visualizzazione

  • Identificativo dell”utente: nel caso sia stato effettuato l”accesso al sistema

  • Credits

  • Home: per accedere al FrontEnd

  • Lingua: la scelta della lingua si riflette nei singoli menu del clienta e sui contenuti del portale di accesso. Le linguedisponibili sono quelli attivati dall”amministrazione.

_images/g3wclient_header.png

Il Pannello Strumenti é posto a sinistra e contiene i seguenti oggetti:

  • Metadati: contenuto definito su progetto QGIS

  • Stampa: strumento di stampa basato sui layout definiti su progetto QGIS

  • Ricerche: con i tool di ricerca definiti tramite pannello di Amministrazione

  • Strumenti: sessione che raccogli i vari strumenti eventualmente attivati sul servizio WebGis

  • WMS: session to add custom WMS services to the map

  • Mappa: contenente:

    • Strati: elenco strutturato degli strati, definito su progetto QGIS

    • Basi: scelta della mappa di base tra quelle definite a livello di creazione Gruppo Tematico

    • Legenda: legenda grafica dei vari strati

_images/g3wclient_tool_panel.png

In the event that Themes (Views) are defined in the QGIS project, a specific choice menu will be available in the Layers session of the TOC.

The choice of a Theme will determine the automatic activation of the layers and related styles, defined in the Theme itself.

images/manual/g3wclient_theme.png

Pannello Strumenti

Metadati

I Metadati riportati in questa sessione derivano da quelli impostati a livello di progetto QGIS.

Tale contenuto è diviso in tre sessioni: Generale, Info Spaziali e Strati.

  • Generale: riporta i metadati definiti su progetto QGIS a livello di menù Progetto Proprietà Progetto, sessione Server OWS, Capabilities del servizio. In caso di accesso come utente anonimo in questa sessione è presente anche l”URL del servizio WMS di tael progetto.

  • Info Spaziali: riporta il codice EPSG del sistema di proiezione associato al progetto QGIS e la BoundingBox relativa all”estensione iniziale di pubblicazione, definita a livello di menù Progetto Proprietà Progetto, sessione Server OWS, Capabilities WMS, Estensione pubblicata

  • Layer: riporta i metadati associati ai singoli layer. Metadati definiti a livello delle Proprietà del layer

_images/g3wclient_metadata_view.png

Charts

View graphs created using QGIS DataPlotly and activated at the admin session level.

Check the plots in the list and consult them on the rigth panel.

images/manual/g3wclient_plots.png

The graphs are filterable based on the:

  • images/manual/g3wclient_plots_map_filter.png features visible on the map

  • images/manual/g3wclient_plots_selection_filter.png filter based on the selected features

These filters are also reflected on the plots associated to the related data (in 1:N mode) based on the visible and/or selected parent features.

The filter based on the map content can be activated globally on all plots (icon at the top of the panel dedicated to charts) or on only some specific plots (icon placed at the level of the individual plots).

The plots will automatically update after pan and zoom operations on the map

If activated, the filter based on the selected features is automatically activated on all related plots (associated with the same layer and with the 1:N relationed tables)

Appropriate messages at the single plots level will indicate the activation of these filters.

Charts based on 1:N data relation (child layer)

If the chart is linked to a child layer in a 1:N relation, it can also be displayed at the information level of the individual parent features

images/manual/g3wclient_fomr_1N_plots.png

Stampa

Strumento di stampa basato sui layout definiti su progetto QGIS.

Lo strumento permette di scegliere:

  • Template: layout di stampa tra quelli associati al progetto QGIS pubblicato

  • Scala: scala di stampa

  • DPI: risoluzione di stampa

  • Rotazione: angolo di rotazione

  • Formato: stampa in PDF o JPEG

  • Custom title: using the ItemIDs at the print layout level of the QGIS project it is possible to insert one or more labels with customized content in the print from WebGis

On the map, a light rectangular area will allow you to define the print area.

_images/g3wclient_print_tool.png

If an Atlas type print layout is associated in the QGIS project, the layout reference will be available. The cards to be printed are defined by referring to the atlas identifier defined in the print layout.

_images/g3wclient_print_tool_atlas.png

WMS

Through this tool the user can add custom WMS layers to the WebGis service.

The user can add one or more WMS URLs (associated with a customizable name) and, for each of them, define:

  • the position (top or buttom) with respect to the other layers of the project

  • the layer to load

  • the projection system to be associated

  • a custom name

images/manual/g3wclient_wms_tool.png

When the first custom WMS is added, a new tab (WMS) appears in the TOC; here you can switch on/off or delete the individual added WMS layers.

images/manual/g3wclient_wms_tool_layer.png

The added WMS layer cannot not be queried.

The list of WMS services and the specific WMS layers added will remain available to the user until the browser cache is cleared.

Search and Query Builder

A classic Query Builder is present at the Search menu level. Through this tool it is possible to:

  • carry out alphanumeric searches on geometric layers

  • save the query to reuse it until the end of the work session

  • edit a previously saved query

The saved query will be available until the browser cache is cleared

NB: fields not exposed as QGIS project-level WMS are not available for query building.

_images/g3wclient_querybuilder.png

The Search menu contains the list of search tools defined through the Administration panel and custom searches created with the Query Builder.

_images/g3wclient_searc_list.png

Si sceglie la ricerca di interessa, si compilano i campi richiesti e si clicca sul tasto Cerca.

Sul lato destro del client si aprirà il pannello con la lista dei risultati, per ogni risultato saranno visualizzati i primi tre campi della tabella associata.

Posizionandosi sui singoli risultati, la features corrispondente verrà evidenziata in mappa; cliccando sui singoli risultati si potranno consultare tutti gli attributi associati alla feature.

Zoom to features and download icons are available for results (single or cumulative)

_images/g3wclient_search_example.png

Mappa

This session has three tabs:

  • Strati: elenco strutturato degli strati, definito su progetto QGIS

  • Basi: scelta della mappa di base tra quelle definite a livello di creazione Gruppo Cartografico

  • Legend: graphic legend

Layers

In the list of layers, right click on the name of the single layer shows the following items:

  • Name and kind of geometry of the layer

  • Metadata: descriptive information inherited from what has been defined, at QGIS project level, in the “Abstract” form of the “QGIS Server” session of the “Layer Properties”

  • Styles: to choose the style to be applied to the layer, in the case of multi-style layers

  • Abstract: a text (also html) defined in the Layer Properties, Metadata session, Identification tab, Abstract form.

  • Zoom to layer: per zoommare all”estensione del layer

  • Open attribute table: to consult the associated attribute table

  • Download shapefile: to download the layer as a shapefile; function activatable from the administration panel

  • Download GEOTIFF: to download a raster in GeoTiff format, full layer or clipped to the extent of the canvas; function activatable from the administration panel

  • Download GeoPackage: to download the layer as a GeoPackage; function activatable from the administration panel

  • Download CSV: to download the layer as a CSV; function activatable from the administration panel

  • Download XLS: to download the layer as a XLS; function activatable from the administration panel

  • WMS/WFS URL: URL of the WMS/WFS service relative to the project or URL of the external WMS

_images/g3wclient_layer_function.png

It is possible to hide, automatically, layers from the TOC when they have no records.

Useful when using filters on layers or geographic views.

Attribute table

The attribute table (resizable) is equipped with paging function, highligth function and zooming to the associated features.

In caso di presenza di link a contenuti multimediali, saranno visualizzabili le anteprime delle immagini e/o il tasto Apri per la consultazione di diversa tipologia di contenuto.

The window is resizable.

_images/g3wclient_table_view.png

A generic filter, positioned at the top right, is applied generically to the contents of all the fields and it will allow you to filter the list of displayed records.

Filters based on the contents of the individual fields are available at the top of each column.

The Show features visible on the map icon images/manual/g3wclient_mapfilter_table.png allows you to filter the records of the table according to the features visible in the map.

From this version it is possible to select the features of the individual layers and apply filters that will affect:

  • on the map content

  • on the attribute table content

  • on the contents of the plots

  • on print contents (only with QGIS 3.18)

The selection of features can be made:

  • at the attribute table level (through the checkboxes on the left of each records)

  • on the results of a query (add / remove from current selection)

  • on the results of a query (add / remove from current selection)

At the same time, additional icons appear:

  • on the layer attribute table

  • to the right of the layer on the TOC

  • at the level of the relevant plots

Aggiungi immagine: g3wclient_selection.png The icons in the attribute table allow you to:

  • images/manual/g3wclient_selection_table_clear.png Clear selection

  • images/manual/g3wclient_selection_table_invert.png Invert selection

  • images/manual/g3wclient_selection_table_filter.png Add/Remove filter

The icons to the right of the layer on the TOC allow you to:

  • Clear selection

  • Add/Remove filter

images/manual/g3wclient_selection_icon_toc.png

When one or more features are selected, they appear highlighted in red on the map. Activation of the filter is reflected:

  • on the map content

  • on the attribute table content

  • on the data displayed by plots

  • on the print contents (only with QGIS 3.18)

Base layer

The list shows the active base layers at the cartographic group level.

If the user has created base layers starting from cached layers, these may also be present.

Legend

If at the publication level of the QGIS project, the Legend position option i setted as TOC, this panel will be not present and the legend will be rendered inside layers TOC.

If the option is activated on the QGIS project, the legend is filtered on the map content.

Time series

NB: the Time Series function is only available with a QGIS Server version >= 3.26

This version of G3W-SUITE manages the temporal aspects for both vector and raster layers but with limitations:

  • vector layers: limited to the Single field with Date/Time configuration

  • raster layers: only for NetCDF file upload as raster (no Mesh)

  • WMS-T

If in the QGIS project a temporal vector/raster layer on which the Dynamic temporal control property has been activated is present, the client will show an additional panel called Time series.

This panel will allow you to:

  • define the start/end date of the time series

  • define the step of the animation

  • start and manage the temporal animation

images/manual/g3wclient_timeseries_tool.png

The modification of the start date of the series will determine the updating of the map with the visualization of the layer in coherence with the chosen date.

Pay attention: to use the Time series function for raster data, it must also be activated at the level of the G3W-ADMIN layer properties.

images/manual/g3wclient_timeseries_admin.png

Editing on line

Attivazione e configurazione

Introduction and main features

The editing settings are defined partly at the QGIS project level (editing form structure, widgets associated with individual attributes, 1:n and, in part, N:M relations) and partly at the Administration level (users with editing power, activation scale, alpha and geo constraints).

Thanks to the integration with the APIs of QGIS it is now possible to manage the main formats (geographically and not) supported by QGIS Server:

  • reading and editing mode

    • PostGreSQL/PostGis

    • SQLite/SpatiaLite

    • Oracle Spatial

    • GeoPackage

    • ShapeFile(not recommended for multi-user editing)

  • reading mode

    • SQL Server

    • Virtual layer

1:N and N:M relational editing

The editing function manages both direct editing on geometric and alphanumeric layers, and editing on layers in a 1:N or N:M relations, also both geometric and alphanumeric.

Attention: the management of the editing of the N: M relations is limited to the management of the 1:N relationship between the parent layer and the intermediate table.

This means that currently it is not possible to create new records in table M but only:

  • modify the current relations present

  • create new relations between new elements of layer N and pre-existing records of layer M

The editing settings are defined partly at the QGIS project level (editing form structure, widgets associated with individual attributes, 1:n and N:M relations) and partly at the Administration level (users with editing power, activation scale, alpha and geo constraints).

Multi-user editing

G3W-SUITE manages multi-user editing through a feature lock system.

It’s strongly recommended to allow multi-user editing only in the case of layers on the GeoDatabase and not on physical files.

Quando un utente abilitato attiva la funzione di editing a livello di client cartografico, le features visibili in mappa in quel momento saranno bloccate, relativamente all’aspetto di editing, per tutti gli altri utenti abilitati che potranno comunque editare features presenti fuori da tale estensione geografica.

In case of features of a layer locked by other users, the user will receive a warning message when starting the editing.

Tale blocco verrà disattivato al momento in cui l’utente uscirà dalla modalità di editing.

Impostazioni a livello di progetto QGIS

Definizione dei widget di editing associati ai singoli attributi

A livello di progetto QGIS, per ogni layer è possibile definire la struttura del form degli attributi associato alla visualizzazione dei risultati in seguito ad operazioni di interrogazione.

La stessa struttura sarà utilizzata in modalità di editing web per l’inserimento/modifica degli attributi associati alle features.

La definizione della struttura del form è gestibile, su QGIS, dalle Proprietà del vettore, nella sezione Attribute Form.

_images/editing_qgis_form_widget.png

Conditionals forms based on QGIS expressions

Conditional forms based on QGIS expressions are supported and implemented for online editing/consulting.

It is therefore possible to define the visibility of a forms (form or group) and of the fields it contains, on the basis of the values defined on further fields when filling in the attributes.

Drill-down (cascading) forms

Drill-down (cascading) forms based on QGIS expressions are supported and implemented for online editing.

The functionality can be used to implement “drill-down” within editing forms, where the values available in one field depend on the values of other fields.

This function will be reflected in the consultation side.

Definizione dei widget di editing associati ai singoli attributi

A livello di progetto QGIS (sempre da Proprietà del vettore, sezione Attribute Form) è possibile definire per ogni attributi un alias e un widget di editing.

L’alias e i widget di editing definiti a livello di progetto saranno disponibili in fase di editing web con alcune limitazioni.

Di seguito si riportano i widget disponibili ed eventuali limitazioni:

  • Casella di controllo

  • Date/time: management limited to the date

  • Allegato*

  • Intervallo

  • Text edit multiline and html included

  • Unique values: this widget will be equipped with a pick layer tool at the cartographic client level

  • Mappa valori

  • Value relations with QGIS expression-based filter management, the suite not support sort by value and allow multiple selections options

The expression-based filter can also be dependent on the values of other fields on the form and useful to create cascading drill down.

Relativamente al widget Allegato occorre precisare che l”associazione di un file multimediale ad una features prevede che tale file venga salavato su uno spazio dedicato (esposto sul web) sul server e che l’associazione avvenga tramite un URL che fa riferimento a tale file.

Questa soluzione permette di consultare gli allegati associati anche caricando il layer in oggetto direttamente da QGIS o da latro software GIS.

Ulteriori impostazioni a livello di singolo layer

In the Attribute Form section of the Layer Properties it is also possible to define for every field:

  • abilitare/disabilitare la modifica

  • vincoli di obbligatorietà e/o univocità*

  • range of acceptable values through the Range widget

  • eventuali valori predefiniti

  • conditional forms

QGIS expressions and default values

All the QGIS expressions can be used as default values.

The default values defined for individual fields at the QGIS project level are inherited from the suite.

In this case, at the online edit level, the form relating to the field thus defined will be self-calculated and can be set not editable by the user.

The result of the expression can also be dependent on the values of other fields on the form.

Very useful in all cases where we want the values of a field to be calculated automatically through the potential of QGIS expressions.

The Apply the default value also to the update option is supported for all non-geometric functions and only for the following geometric functions: $area, $perimeter, $length, $x, $y $geometry

As in QGIS the default values are displayed in the form during editing and not only after saving.

Editing tabelle relazionate in modalità 1:n

Nel caso in cui, a livello di progetto QGIS, siano stati associati ad un layer uno o più relazioni di tipo 1:n (menù Progetto Proprietà…, sezione Relazioni), sarà possibile realizzare editing relazionale anche sulla piattaforma webgis.

Anche per le tabelle relazionate in modalità 1:n sarà possibile definire struttura del form degli attributi, alias e widget di editing a livelo di progetto QGIS.

Tali configurazioni e strumenti saranno automaticamente disponibili sulla piattaforma webgis.

Gruppo di transazione

Utilizza gruppo di transazioni per modificare, salvare o ripristinare contemporaneamente le modifiche di più layers

Quando lavori con layer aventi stessa sorgente (es. layer gestiti sullo stesso DB PostGreSQL), attiva l’opzione Crea automaticamente gruppi di transazioni dove possibile in Progetto Proprietà …. Sorgenti di dati per sincronizzare il loro comportamento (entrare o uscire dalla modalità di modifica, salvare o ripristinare le modifiche allo stesso tempo).

_images/datasources.png

Impostazioni di Amministrazione

Attivazione della funzione di editing

Per attivare le funzioni di editing on line su un layer occorre accedere, all’interno del pannello di amministrazione di G3W-ADMIN, alla sezione Lista layers del progetto stesso.

_images/g3wsuite_administration_project_layer_list.png

Nella lista dei layer si identifica il layer su cui si vuole attivare la funzione di editing e si clicca sull’icona Editing layer _images/icon_editing.png posta sulla sinistra.

Attenzione: controlla che il formato del layer sia tra quelli supportati da QGIS per la funzione di editing

Cliccando sull’icona si aprirà una finestra modale che permetterà di:

  • definire la scala a cui sarà possibile attivare la funzione di editing a livello di webgis (solo per tabelle geometriche)

  • definire gli utenti di tipo Viewer (singoli o gruppi) abilitati all’editing on line

For each user (single or group) it is possible to discriminate the editing powers:

  • Add: add feature, copy feature, add part to multipart

  • Update geometry: update vertex feature, move feature, add part to multipart, delete part from multipart, split features, dissolve features

  • Update attributes: update feature attributes, update attributes of selected features

  • Delete: delete features

I should be noted that:

  • 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

  • utenti di tipo Editor I e Editor II “proprietari” del progetto risultano abilitati di default alla funzione di editing on line

_images/editing_setting.png

NB: In case a user belongs to a user group, the permissions set will be added together.

Ability to associate references to create/update G3W-SUITE users

Through these two optional settings it is possible to define two fields of the table of the layer being edited automatically filled in.

These two fields will contain references to G3W-SUITE users who creators or modifiers of the individual features edited.

All settings defined at the QGIS level for these fields (eg default values) will no longer be considered.

It is recommended that these fields be set as non-editable at the project level.

Editing di dati relazionati 1:N

Per permettere l’editing sulla tabella relazionata in modalità 1:n con un layer occorre attivare (sempre con le stesse modalità) la funzione di editing anche per la tabella relazionata presente nella lista dei layer del progetto.

Creazione di vincoli

G3W-SUITE permette di gestire due tipologie di vincoli:

  • alphanumeric (SQL) / QGIS expressions constraints

  • geographic constraints

Both work in terms of visualization and/or editing

Alphanumeric (SQL) / QGIS expressions Constraints

Alphanumeric (SQL) / QGIS expression constraints allow you to define, for each published layer, the subset of features that can be viewed and/or edited by individual users and/or groups of users.

This setting is also available for the AnonymousUser user

Per attivare questo tipo di vincolo occorre cliccare, sempre a livello della lista dei layers del progetto, sull’icona Gestisci constraint alfanumerici per la visualizzazione e l'editing _images/icon_alpha_constraints.png.

Cliccando sull’icona si aprirà la lista degli eventuali vincoli già presenti e la voce + Nuovo vincolo alfanumerico per creare un nuovo constraints.

_images/editing_alpha_constrain_layer.png

Cliccando sulla voce + Nuovo vincolo alfanumerico si aprirà una finestra modale che permetterà di definire un nome e una descrizione da associare al vncolo

In the form it is possible to specify whether this filter will act at the level:

  • display only

  • editing only

  • in both cases

images/manual/editing_alpha_constrain_layer_init.png

Dopo aver premuto sul tatso OK, il vincolo apparirà nella lista e potrà essere parametrizzato secondo due modalità

  • _images/icon_alphaconstraints_setting.png Linguaggio del provider / Dialetto SQL

  • _images/icon_qgisconstraints_setting.png Espressioni di QGIS

Linguaggio del provider / Dialetto SQL

Cliccando sull”icona _images/icon_alphaconstraints_setting.png si aprirà una finestra modale che, premendo il tastopulsante verde, ti permetterà di definire, per ogni utente e/o gruppo diutenti, le regole dei vincoli.

Le singole regole devono essere definite tramite il linguaggio del provider o il dialetto SQL associato al formato del layer (es. usa SQL standard se il tuo livello di vincolo geografico è un livello PostGis)

Le singole regole devono far riferimento agli attributi e ai valori del layer di riferimento

L’icona Salva _images/icon_save.pngpermetterà di validare la regola, ciò allo scopo di garantire un corretto funzionamento del constraints stesso.

_images/editing_alpha_constrain_setting.png

Una volta inseriti e validati tutti i vincoli si cliccherà sul tasto Chiudi per confermare le regole.

Regole basate su espressionidi QGIS

Cliccando sull”icona Regole secondo le espressioni QGIS _images/icon_qgisconstraints_setting.png si aprirà infatti una finestra modale che, tramite il tasto _images/button_add.png, permetterà di definire, per ogni utente e/o gruppo di utenti, le regole del vincolo

Le singole regole devono essere definite tramite le espressioni QGIS e ciò consenteavere un elevato grado di libertà nella costruzione delle stesse.

Vedi il paragrafo dedicato alle funzioni disponibili direttamente sulManuale QGIS.

L’icona Salva _images/icon_save.pngpermetterà di validare la regola, ciò allo scopo di garantire un corretto funzionamento del constraints stesso.

_images/editing_qgisconstrain_setting.png

Una volta inseriti e validati tutti i vincoli si cliccherà sul tasto Chiudi per confermare le regole.

In the dedicated panel it will be possible to check, modify and delete the defined rules.

images/manual/alpha_constrain_list.png

Constraints geografici

The online editing function also allows you to manage geo-constraints that allow the user to view and/or edit features only if they intersect or are contained within specific features of a second polygonal layer.

This setting is also available for the AnonymousUser user

Per attivare un vincolo geografico occorre cliccare, sempre a livello della lista dei layers del progetto, sull’icona Gestisci constraints geografici _images/icon_constraints.png che apparirà una volta attivata la funzione di editing on line.

Cliccando sull’icona si aprirà la lista degli eventuali vincoli già presenti e la voce + Nuovo vincolo geografico per creare un nuovo geo-constraints.

_images/editing_constrain_layer.png

Cliccando sulla voce + Nuovo vincolo geografico si aprirà una finestra modale che permetterà di definire il layer poligonale (tra quelli presenti nel progetto) su cui dovrà basarsi il vincolo stesso.

In the form it is possible to specify whether this filter will act at the level:

  • display only

  • editing only

  • in both cases

images/manual/geo_constrain_layer_init.png

Un volta definito il layer il vincolo apparirà nella lista e potrà essere parametrizzato tramite l’icona Rules._images/icon_constraints_setting.png

Cliccando su tale icona si aprirà infatti una finestra modale che, tramite il tasto _images/button_add.png, permetterà di definire, per ogni utente e/o gruppo di utenti, la/le features del layer definito come geo-constraints, all’interno delle quali sarà permesso l’editing.

Le singole regole devono essere definite utilizzando il linguaggio o il dialetto SQL del provider (es. usa standard SQL se il layer di riferiemnto per il vicncolo è un layer PostGis

Le singole regole devono far riferimento agli attributi e ai valori del layer di riferimento

L’icona Salva _images/icon_save.pngpermetterà di validare la regola, ciò allo scopo di garantire un corretto funzionamento del constraints stesso.

_images/editing_geoconstrain_setting.png

Una volta inseriti e validati tutti i vincoli si cliccherà sul tasto Chiudi per confermare le regole.

La lista dei vincoli alfanumerici riporterà un sommario delle regole settate

_images/editing_geoconstrain_layer_summary.png

Strumenti di editing on line a livello di client cartografico

Geographic and alphanumeric editing

Una volta attivata e configurata la funzione di editing on line su uno o più layer di un progetto WebGis, accedendo in consultazione a tale servizio (come utente accreditato all’editing) il client cartografico mostrerà sulla colonna di sinistra il menù Strumenti** al cui interno sarà disponibile, oltre ad altre eventuali voci, quella relativa all’editing.

In the case of many editable layers, a useful filter allows you to view only the layers of interest in the list.

If the editing function is activated at the Admin level, it is also possible to start the online editing also through the Editing icon that appears at the level of the search and query results form of a vector layer.

_images/editing_client_start.png

_images/editing_client_tool.png

Cliccando sulla voce Editing dati il menù laterale mostrerà gli strumenti di editing per tutti i layer su cui è attivata tale funzione.

L’attivazione effettiva della funzione di editing per i singoli layer avverrà cliccando sull’icona Modifica layer.

Creare ed editare features

Gli strumenti a disposizione sono i seguenti:

Strati geometrici

  • _images/icon_feature_add.png Aggiungi feature: per aggiungere una feature alla tabella geometrica

  • _images/icon_feature_attribute.pngUpdate feature attribute: to modify the attribute values associated with an existing feature

  • _images/icon_feature_modify.png Aggiorna vertici features: per modificare la forma di una geometria

  • _images/icon_feature_remove.png Cancella feature

  • images/manual/icon_feature_multiattribute.png Update attributes for selected features: to modify the attribute values associated with more than one features

  • _images/icon_feature_move.png Muovi feature: per spostare una geometria

  • images/manual/icon_feature_paste.png Paste features from other layers: query another layer with the same geometry, select the features to copy, press the Paste icon, select the features to paste and confirm.

  • _images/icon_feature_copy.png Copy features: to copy one or more features from the same layer

  • _images/icon_feature_add_part.png Add part of a multi-geometry

  • _images/icon_feature_delete_part.png Delete part of a multi-geometry

  • _images/icon_feature_split.png Taglia features: per taglaire una o più geometrie eduplicare i relativi attributi

  • _images/icon_feature_dissolve.png Dissolvi features: per fondere due o più geometrie ed i relativi attributi

Un pannello di aiuto descriverà i passi da compiere per le operazioni di copy, dissolve and split.

In case of interaction of the editing tools with overlapping geometries, an intermediate step will allow to select the effective geometry on which to operate.

Snap and other available function

Activating the Add features and Update feature vertex tools allows you to:

  • activate the intralayer snap function

  • activate the snap between layers, but only if both layers are in editing mode

  • activate the interactive area and length measure function

Layer alfanumerci

  • _images/icon_record_add.png Aggiungi features: per aggiungere un record alla tabella alfanumerica

  • _images/icon_record_modify.png Modifica features: per modificare gli attributi di un record esistente

Ogni volta che si aggiungerà una nuova feature/record o si andrà a modificare una feature/record esistente sul client verrà visualizzato il form di editing degli attributi ed i rispettivi widget di editing come definiti a livello di progetto QGIS.

_images/editing_form.png

Eventuali campi obbligatori saranno contrassegnati con un asterisco.

Eventuali vincoli non soddisfatti saranno evidenziati con messaggi di warning specifici riportati in rosso.

Le modifiche apportate potranno essere salvate solo dopo aver soddisfatto eventuali vincoli di obbligatorietà e/o univocità.

Per tale motivo il tasto SALVA sarà disabilitato fino a quando non saranno soddisfatti tutti i constraints.

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

Download demo data

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

The .zip file contains the G3W-SUITE directory with three sub directories:

  • projects: containing a QGIS project (buildings_management.qgs) already optimized for the tutorial

  • project_data/spatialite: containing a SpatiaLite DB with basic data (build_management_demo.sqlite)

  • plots: containing a a series of plots created with the DataPlotly plugin and saved in xml format

_images/demo_zip_file.png

Inside the build_management_demo.sqlite SpatiaLite DB there are the following layers:

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

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

  • buildings_rating (alphanumeric table): with the annual assessments relating to individual buildings

  • roads (linear layer): layer to define the address associated to any buildings

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

  • type_subtype (alphanumeric table): a decoding table of the type and subtype values associated with the individual buildings

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

The project (based on QGIS LTR 3.22.x) foresees:

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

  • the presence of a 1: n relationship between the buildings layer and the alphanumeric maintenance_works and buildings_rating tables

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

  • predefined editing widgets for the fields of the two main layers: buildings , maintenance_works and buildings_rating tables

  • two standard print layout in A4 and A3 and an two 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://v35.g3wsuite.it

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

  • user: demo

  • password: G3wsuite!

In case of login fails, report the problem to 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

Choose your preferred options regarding the following options:

  • User QGIS project map start extent as webgis init extent: check this control if you want set initial extent from QGSI project initial extent, Project properties -> QGIS Server -> WMS capabilities (Advertised extent)

  • Tab's TOC active as default: set tab’s TOC (Layers, Base layers, Legend) open by default on startup of webgis service

  • Legend position rendering: this option allows to set legend rendering position:

    • In a separate TAB: default value, the legend is rendered into a separate tab

    • Into TOC layers: the legend is rendered inside layers toc

  • Automatic zoom to query result features: if in the results of a search there are only features of a layer, the webgis automatic zoom on their extension

_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

    • The eye icon allows you to know the ID associated with the layer at the project level, this ID will be useful for creating parameterized URLs

  • 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/manual/icon_filter_layer.png Hide layer by user/groups: hide specific layers from the TOC based on specific users or groups of users

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

    • _images/icon_geoconstraints.png Geo-constraints by user/group: create or manage editing and visualization geo-constraints based on poligonal layers

    • _images/icon_alpha_constraints.png Alphanumeric and QGIS expressions constraints by user/groups: create or manage editing and visualization constraints based on SLQ language or QGIS expressions

    • images/manual/icon_hide_columns.png Hide columns by User/Groups: create or manage constraints on one or more fields of a layer based on single or group user/s

    • _images/icon_widget.png Widgets list: shows how many widgets (eg searches) are associated with this layer and allows you to activate new ones

    • images/manual/icon_styles.png Manage layer styles: manage multi-style layer

  • Not show attributes table: hide attributes table of the layer for every users

  • 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/geotiff: for vector and raster layers

    • Download as GPK: for geographic or not geographic 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

NB: there may be a number of searches created by other users for the same layer.

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.

Now it is possible to define the dependence more or less strong (strictly).

In case of strictly dependence, the values of the dependent fields will be loaded only after the choice of the value of the field on which the dependency depends.

Otherwise it will be possible to define the values of the individual fields freely and without a specific order. The values available for the other fields will in any case depend on the choice made.

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

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.

For this reason, there may be some plots created by other users for the same layer. You can activate them by clicking on the Linked chekbox.

_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.

_images/g3wsuite_qgis_plots.png

_images/g3wsuite_client_plots.png

The graphs are filterable based on the:

  • images/manual/g3wclient_plots_map_filter.png features visible on the map

  • images/manual/g3wclient_plots_selection_filter.png filter based on the selected features

These filters are also reflected on the plots associated to the related data (in 1:N mode) based on the visible and/or selected parent features.

The filter based on the map content can be activated globally on all plots (icon at the top of the panel dedicated to charts) or on only some specific plots (icon placed at the level of the individual plots).

The plots will automatically update after pan and zoom operations on the map

If activated, the filter based on the selected features is automatically activated on all related plots (associated with the same layer and with the 1:N relationed tables)

Appropriate messages at the single plots level will indicate the activation of these filters.

If 1: N relationships are associated with the interrogated layer and plots have been activated on the referencing tables, it will also be possible to consult these plots by querying the referenced layer and clicking on the Show relation charts icon present in the results form.

images/manual/g3wclient_attribute_view_plots.png

Show relation charts: display of graphs related to 1: N related data. Only if 1: N relationships are associated with the interrogated layer and graphics have been activated on the boy tables.

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)

    • zone (text): text edit (with default values based on a QGIS expression to for association with the intersecting works area)

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

    • subtype (text NOT NULL): value relation (based on type_subtype table for a drill-down cascading forms)

    • attachment (integer): check box 1/0 (the visibility of the conditional form Documents is based on this field)

    • photo (text): attachment

    • link (text): text edit

    • form (text): attachment

    • user (text): text edit (automatically filled in with the G3W-SUITE username creator of the feature)

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

    • 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)

  • 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)

  • Buildings rating

    • id (integer - primary key): autogenerate

    • id_buildings (text - relation key): text edit

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

    • value (integer): range (1000-4000 step 500)

    • year (integer): range (2018-2022 step 1)

To activate the editing function on webgis, access the list of layers and identify the three layers shown above.

_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