Editing on line

Attivazione e configurazione

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

    • GeoPackage (not recommended for multi-user editing)

    • ShapeFile

  • reading mode

    • SQL Server

    • Virtal layer

The suite also allows you to manage 1:N relational editing.

Attenzione: in questa versione, non è possibile editare attriubuti derivanti da join (1:1/n:1)

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

Si precisa che tale funzione gestisce l’editing multi utente tramite un sistema di features-lock.

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.

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

Impostazioni a livello di progetto QGIS

Definizione del form di editing degli 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

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

  • Data/ora: gestione della sola data

  • Allegato*

  • Intervallo

  • Modifica testo con escluse le opzioni:

    • multilinea

    • html

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

  • Mappa valori

  • Relazione valore con escluse le opzioni:

    • ordina per valore

    • consenti selezioni multiple

    • espressione del filtro

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

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.

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: verifica la lista dei formati supportati da QGIS per la funzione di editing

_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

Relativamente all’ultimo aspetto si precisa che:

  • 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

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:

  • constraints alfanumerici o basati su espressioni di QGIS che operano sia a livello di visualizzazione che di editing

  • constraints geografici che operano solo a livello di editing

Constraints alfanumerici o basati su espressioni di QGIS

I constraints alfanumerici o basati su espressioni di QGIS permettono di definire, per ogni layer pubblicato, il sottoinsieme di features visualizzabili ed editabili dai singoli utente e/o gruppo di utenti.

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

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

La funzione di editing on line permette di gestire anche dei geo-constraints ovvero definire dei vincoli spaziali che permettono all’utente di inserire/modificare features solo se queste intersecono o sono contenute all’interno di specifiche features di un secondo layer di tipo poligonale.

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

  • of 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.

_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.png Modify feature: to modify the attribute values associated with an existing 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_modify.png Aggiorna vertici features: per modificare la forma di una geometria

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

  • _images/icon_feature_remove.png Cancella feature

  • _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_copy.png Copia feature: per copiare una o più geometrie

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

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

L’attivazione degli strumenti Aggiungi features e Aggiorna vertici features relativamente ad un layer geometrico permette di attivare anche la funzione di snap intralayer.

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

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.

Salvataggio modifiche

Il salvataggio di tutte le modifiche realizzate in una sessione di editing può essere realizzato in due modi:

  • cliccando sull’icona a forma di dischetto _images/icon_disk.pngposta in alto a sinistra. Le modifiche realizzate verranno salavate e si potrà proseguire realizzando nuove modifiche

  • disattivando l’editing cliccando sull’icona Edit layer _images/icon_edit2.png

Disattivando la funzione di editing verrà visualizzata una finestra modale che riporterà la lista delle modifiche realizzate e la richiesta di conferma o meno del salvataggio delle stesse.

_images/editing_client_save.png

Si ricorda che in fase di editing le icone undo/redo _images/icon_undoredo.pngpermettono di eliminare/ripristinare le ultime modifiche realizzate.