Connectez votre hébergeur de fichier préféré avec QGIS

By jeudi 4 novembre 2021Development, GIS, QGIS

Beaucoup d’utilisateurs ont besoin de lier leurs données géographiques avec des documents (photos, vidéos, rapports sous format pdf, manuels…). Ces documents doivent eux-mêmes être stockés sur un système existant comme un FTP, Nextcloud, un stockage objet dans le Cloud, ou un système de fichiers partagés sur le réseau.

Jusqu’à présent, lier les données et les documents était plutôt fastidieux dans QGIS : l’utilisateur devait stocker les données d’une part, puis copier/coller le lien dans les formulaires QGIS pour ensuite mettre à jour les données. De plus, QGIS ne pouvait pas visualiser les données si une authentification était nécessaire, d’où le besoin d’une solution plus intégrée.

Grâce au financement de la Métropole de Lille, j’ai eu l’opportunité de travailler sur la mise en place d’une nouvelle fonctionnalité de stockage externe qui améliore grandement le processus. Cette fonctionnalité est disponible depuis QGIS 3.22 LTR (Long Term Release)* Bialowiesa.

Données et documents dans QGIS : Mode d’emploi

Si vous cherchez comment construire votre SIG de façon à lier vos documents et vos données, voici quelques informations bonnes à savoir. Les instructions suivantes supposent que vous utilisez une base de données relationnelle, mais il est possible d’utiliser ce système avec des fichiers (GeoPackage par exemple).

 

Désormais, QGIS 3.22 interagit de façon plus fluide avec WebDAV et des dossiers (et peut-être bientôt d’autres systèmes)

 

Dans un premier temps, ajoutez à vos données un champ document qui contiendra l’URL vers le document que vous souhaitez associer. La création d’une table est conseillée pour indexer tous vos documents et leurs éventuelles métadonnées (auteur, date de création…). Cela permet aussi de créer une table d’association et définir des relations « plusieurs à plusieurs » entre vos données et vos documents (voir Créer des relations un à plusieurs ou plusieurs à plusieurs).

Enfin, allez dans la section Formulaire d’attributs puis Type d’outil, et sélectionnez le type Pièce jointe pour l’affichage et l’édition du champ document.

Ainsi, il est maintenant possible d’éditer l’URL du document et de le visualiser (à condition de fonctionner en local ou en HTTP sans authentification).

Pour ajouter un fichier, il faut:

  • Le mettre dans votre système de stockage externe
  • Copier/coller l’URL dans le widget Pièce jointe

Ce qui change

Depuis la version QGIS 3.22, QGIS peut agir comme un client de votre stockage externe, ce qui évite les deux dernières étapes mentionnées ci-avant. Un document peut être ajouté d’un simple glisser-déposer et son URL est mise à jour. Cette version permet aussi de retrouver un document déjà stocké et si besoin, le visualiser directement dans les formulaires.

Les différents type de stockage

Tous les utilisateurs ne stockent pas leur donnée de la même façon, donc le nouveau système est assez générique pour supporter les différents types de stockage utilisés.

Dans QGIS 3.22, il existe deux types de stockage possibles :

  • Par simple copie : Copie la ressource sur le disque (local ou réseau)
  • Via WebDAV : La ressource est poussée sur un serveur HTTP lié au protocol WebDAV. Nextcloud, Pydio ou d’autres systèmes d’hébergement de fichiers supportent ce protocole.

Le choix Sélectionnez un fichier existant fait référence à l’ancienne façon de traiter les pièces jointes qui induisait que l’URL était pré-existante. Quand vous sélectionnez une ressource, il n’y a pas d’opération de stockage, l’attribut est simplement mis à jour avec l’URL.

Configuration

Dans la nouvelle version, la configuration du widget Pièce jointe n’a pas beaucoup changé. Vous devez :

  • Sélectionner le type de stockage (n’oubliez pas que la Sélection d’un fichier existant est l’ancien comportement où il n’y a pas d’opération de stockage)
  • Configurer l’URL utilisée pour stocker chacun des fichiers choisis avec le widget de sélection de fichiers ou déposés directement sur le widget.
  • Définir comment s’authentifier vers le stockage externe.

Si vous souhaitez contrôler de façon plus fine l’URL de stockage de vos fichiers, vous pouvez définir une expression grâce à l’option Valeur définie par les données. Par exemple, vous pouvez stocker vos fichiers dans différents espaces de stockage en fonction des attributs.

 

Interface de configuration pour un stockage WebDAV dans un widget Pièce jointe

Mise en pratique

J’ai configuré QGIS pour le connecter à mon serveur personnel Nextcloud en utilisant le protocole WebDAV et une authentification classique par login/mot de passe. Ainsi, je peux :

  • Récupérer des documents existants dans Nextcloud
  • Visualiser ces documents (image, vidéo, documents texte) directement dans QGIS
  • Effectuer un Drag and Drop de nouveaux documents : le nouveau fichier est stocké dans Nextcloud et la donnée est mise à jour avec l’URL.

A venir

Si vous souhaitez en savoir plus sur la configuration et l’utilisation de cette fonctionnalité, vous pouvez consulter la documentation de QGIS.

Nous cherchons à améliorer cette fonctionnalité pour les prochaines version de QGIS. Nous aimerions ajouter de nouveaux types de stockage (Le support de Amazon S3 est en cours de développement), améliorer le rendu des photos dans les fonds de carte ou pouvoir charger un projet directement à partir d’un stockage externe.

Si vous souhaitez contribuer ou simplement en savoir plus sur QGIS, n’hésitez pas à nous contacter à infos@oslandia.com et consulter notre proposition de support à QGIS.

* La version LTR bénéficie de correctifs pendant un an (3 mois seulement pour les versions intermédiaires). La 3.22 sera supplantée par la nouvelle LTR, la 3.28.4 le 17 février 2023.