28.2.4. Extension d’Édition hors-connexion
Pour la collecte de données, il est courant de travailler avec un ordinateur portable ou un téléphone portable hors ligne sur le terrain. À leur retour sur le réseau, les modifications doivent être synchronisées avec la source de données principale (par exemple, une base de données PostGIS). Si plusieurs personnes travaillent simultanément sur les mêmes ensembles de données, il est difficile de fusionner les modifications à la main, même si les gens ne changent pas les mêmes entités.
L’extension Edition hors-connexion automatises la synchronisation en copiant le contenu de la source de données vers une base de données SpatiaLite ou GeoPackage, et en stockant les modifications faites hors connexion dans des tables dédiées. Quand la connexion sera de nouveau établie, il sera alors possible d’appliquer les modifications hors connexion au jeu de données principal.
Pour utiliser l’extension :
Ouvrez un projet avec quelqes couches vectorielles (par exemple, des jeux de données de type ESRI shapefile, PostGIS, ou WFS-T).
En supposant que vous avez déjà activé l’extension (voir Extensions principales et complémentaires), allez dans Convertir en projet hors-connexion…. La boîte de dialogue s’ouvre.
Sélectionnez Type de stockage. Il peut être de type GeoPackage ou SpatiaLite.
Utilisez le bouton Parcourir pour indiquer l’emplacement de la base de données dans laquelle stocker les données hors-connexion. Il peut s’agir d’un fichier existant ou d’un fichier à créer.
Dans la section Sélectionner les couches distantes, cochez les couches que vous souhaitez enregistrer. Le contenu des couches est enregistré dans des tables de base de données.
Note
Étant donné que les formats de base de données cibles n’ont pas de prise en charge native des listes, l’extension « Édition hors connexion » transforme ces champs de type liste {texte, nombre} en champs de texte où les valeurs sont séparées par des virgules. Ceci permet une lecture et une modification plus aisées du contenu de ces champs lorsque vous êtes hors connexion.
Si vous souhaitez pouvoir manipuler le champ à la fois depuis la couche originale et la couche hors connexion, vous pouvez vous appuyer sur les fonctions d’expression comme try() et array, par exemple:
try(array_contains("field",1),array_contains(string_to_array("field"),1))
Vous pouvez cocher Synchroniser uniquement les entités sélectionnées si une sélection est présente permettant de ne sauvegarder et de travailler que sur un sous-ensemble. Il peut être précieux pour les couches avec un poids élevé.
C’est tout !
Enregistrez votre projet et amenez-le sur le terrain.
Modifiez les couches hors ligne.
Après vous être reconnecté, téléchargez les modifications en utilisant Synchroniser.