Documentazione di sistema QFieldCloud¶
Lo scopo di questo documento è quello di fornire una panoramica del sistema QFieldCloud per comprendere la logica e la tecnologia sottostante.
Entità e concetti¶
Progetto QGIS¶
Un progetto QGIS è un file .qgs o .qgz. Un progetto viene creato su QGIS Desktop e caricato su QFieldCloud utilizzando il plugin di QGIS QFieldSync. Prima di caricare il progetto QGIS, è necessario che per ogni layer del progetto QGIS sia definita un'"azione" che determina il modo in cui QFieldSync e QField devono trattare il livello. Esistono due tipi di azioni che possono essere impostate: una per QFieldCloud e una per l'esportazione tradizionale via cavo.
Queste informazioni vengono salvate all'interno del progetto QGS come customProperty, con la chiave QFieldSync/action.
Le azioni disponibili sono:
Nome interno dell'azione | Nome visualizzato nell'interfaccia utente |
---|---|
OFFLINE | Consolidate |
NO_ACTION | Live layer |
RIMUOVI | Ignora il layer |
COPIA | Copia |
KEEP_EXISTING | Keep Existing |
Questo sarebbe il comportamento di QFieldSync con le azioni dei diversi layer:
Azione | Layer basato su file | Layer non basato su file |
---|---|---|
OFFLINE | Crea una copia consolidata dei dati | Crea una copia consolidata dei dati |
NO_ACTION | N/D | Nessuna azione sul layer |
RIMUOVI | Rimuovi il layer dal progetto | Rimuovi il layer dal progetto |
COPIA | Rendi il percorso sorgente relativo e copia il file | N/D |
KEEP_EXISTING | Rendi relativo il percorso sorgente e copia il file se non esiste | N/D |
Questo è il comportamento di QFieldCloud (libqfieldsync
) con i layer:
Azione | Layer basato su file | Non basato su file |
---|---|---|
OFFLINE | Crea una copia consolidata dei dati al momento dell'estrazione, applica il file delta al momento del caricamento nella fonte di dati originale. | Crea una copia consolidata dei dati al momento dell'estrazione, applica il file delta al momento del caricamento nella fonte di dati originale. |
NO_ACTION | N/D | Nessuna azione sul livello |
RIMUOVI | Rimuovi il layer dal progetto | Rimuovi il layer dal progetto |
COPIA | Rendi relativo il percorso dell'origine e crea una copia dei dati al momento dell'estrazione, applica il file delta all'origine dei dati al momento del caricamento. | N/D |
KEEP_EXISTING | Rendi relativo il percorso dell'origine e crea una copia dei dati al momento dell'estrazione, applica il file delta all'origine dei dati al momento del caricamento. | N/D |
Questo è il comportamento di QField con i layer:
Azione | Layer basato su file | Layer non basato su file |
---|---|---|
OFFLINE | Creare e caricare il deltafile | N/A (a questo punto è sempre basato sui file) |
NO_ACTION | N/D | Modifica il database online (live) |
RIMUOVI | N/A (il layer non è più presente) | N/A (il layer non è più presente) |
COPIA | Creare e caricare il deltafile | N/D |
KEEP_EXISTING | Creare e caricare il deltafile | N/D |
In sintesi, per QFieldCloud:
- NO_ACTION è utilizzato per i layer online che si trovano su un server accessibili via Internet e che vengono modificati direttamente da QField.
- HYBRID significa che verrà generato un geopackage sul server (o direttamente sul desktop per i livelli basati su file) e scaricati dai client. Il client genererà i deltafile delle modifiche.
- OFFLINE è utilizzato, ad esempio, per lavorare con i database locali non visibili da QFieldCloud che vengono consolidati prima di essere caricati dal desktop al server e non vengono sincronizzati con i dati originali di QFieldCloud.
- REMOVE rimuove semplicemente il layer dal progetto.
- KEEP_EXISTENT non verrà utilizzato per le sincronizzazioni di QFieldCloud.
Da QFieldSync sarà possibile aggiornare un progetto già caricato su QFieldCloud. Nel caso in cui le modifiche riguardino solo stili, moduli ecc. ma non la struttura dei layer, il progetto sul server verrà semplicemente semplicemente aggiornato. Se ci sono cambiamenti nella struttura dei layer, il progetto verrà resettato sul server (i file delta verranno cancellati) e per ogni client sarà necessario scaricare la versione aggiornata del progetto progetto prima di poter apportare nuove modifiche.
Progetto QFieldCloud¶
È composto da un solo progetto QGIS e dagli eventuali file correlati (ad esempio, geopackage, immagini, ecc.) inclusi nel pacchetto dati offline o ibrido.
Casi d'uso¶
Ibrido¶
Modalità di modifica ibrida con sincronizzazione sul server
Database offline¶
Modalità di editing offline con sincronizzazione del desktop