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
Oracle Spatial
GeoPackage (not recommended for multi-user editing)
ShapeFile
reading mode
SQL Server
Virtual 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
.
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 dataAllegato
*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 levelMappa 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
QGIS expressions and default values¶
All the QGIS expressions can be used as default values.
In this case, at the online edit level, the form relating to the field thus defined will be self-calculated and not editable by the user.
Very useful in all cases where we want the values of a field to be calculated automatically through the potential of QGIS expressions.
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).
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
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
NB: In case a user belongs to a user group, the permissions set will be added together.
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
.
Cliccando sull’icona si aprirà la lista degli eventuali vincoli già presenti e la voce + Nuovo vincolo alfanumerico
per creare un nuovo constraints.
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
Dopo aver premuto sul tatso OK, il vincolo apparirà nella lista e potrà essere parametrizzato secondo due modalità
Linguaggio del provider / Dialetto SQL
Espressioni di QGIS
Linguaggio del provider / Dialetto SQL¶
Cliccando sull”icona 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
permetterà di validare la regola, ciò allo scopo di garantire un corretto funzionamento del constraints stesso.
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 si aprirà infatti una finestra modale che, tramite il tasto , 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
permetterà di validare la regola, ciò allo scopo di garantire un corretto funzionamento del constraints stesso.
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.
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
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.
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
Un volta definito il layer il vincolo apparirà nella lista e potrà essere parametrizzato tramite l’icona Rules
.
Cliccando su tale icona si aprirà infatti una finestra modale che, tramite il tasto , 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
permetterà di validare la regola, ciò allo scopo di garantire un corretto funzionamento del constraints stesso.
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
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.
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
Aggiungi feature: per aggiungere una feature alla tabella geometrica
Modify feature: to modify the attribute values associated with an existing feature
Update attributes for selected features: to modify the attribute values associated with more than one features
Aggiorna vertici features: per modificare la forma di una geometria
Muovi feature: per spostare una geometria
Cancella feature
Add part of a multi-geometry
Delete part of a multi-geometry
Copia feature: per copiare una o più geometrie
Dissolvi features: per fondere due o più geometrie ed i relativi attributi
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
Aggiungi features: per aggiungere un record alla tabella alfanumerica
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.
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
posta in alto a sinistra. Le modifiche realizzate verranno salavate e si potrà proseguire realizzando nuove modifichedisattivando l’editing cliccando sull’icona
Edit layer
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.
Si ricorda che in fase di editing le icone undo/redo
permettono di eliminare/ripristinare le ultime modifiche realizzate.