26.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.

The offlineEditingCopy Offline Editing Plugin automates the synchronisation by copying the content of the datasource to a SpatiaLite or GeoPackage database and storing the offline edits to dedicated tables. After being connected to the network again, it is possible to apply the offline edits to the master dataset.

Pour utiliser l’extension :

  1. Open a project with some vector layers (e.g., from an Esri Shapefile, PostGIS or WFS-T datasource).

  2. En supposant que vous avez déjà activé l’extension (voir Extensions principales et complémentaires), allez dans Base de données -> Édition hors-connexion -> offlineEditingCopy Convertir en projet hors-connexion…. La boîte de dialogue s’ouvre.

  3. Sélectionnez Type de stockage. Il peut être de type GeoPackage ou SpatiaLite.

  4. 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.

  5. 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::

    Since target database formats do not have native list support, the offline editing plugin transforms {string, number} list fields into string fields where values are separated by commas. This allows reading and edit of the contents of those fields when offline.

    If you would like to handle both the field from the original layer and the offline layer, you can rely on the try() and array expression functions, e.g.:

    try(array_contains("field",1),array_contains(string_to_array("field"),1))
    
  6. Vous pouvez cocher checkbox 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 !

  7. Enregistrez votre projet et amenez-le sur le terrain.

  8. Modifiez les couches hors ligne.

  9. Après vous être reconnecté, téléchargez les modifications en utilisant Base de données-> Édition hors-connexion -> offlineEditingSync Synchroniser.

Note

Layers that are used offline are marked with the indicatorOffline icon in the Layers panel.

../../../../_images/create_offline_project.png

Fig. 26.17 Créer un projet hors-connexion