#1 Thu 19 August 2021 18:12
- Niko84
- Juste Inscrit !
- Date d'inscription: 19 Aug 2021
- Messages: 1
QGIS: Gestion d'images et chemin relatif
Bonjour,
Je possède un fichier shape avec un champ "Photo" qui donne le lien relatif vers un fichier .jpg (ex : /photos/photo1.jpg) issu de l'application SW Maps.
Depuis SW Maps, je récupère un dossier avec la couche shape et un dossier comportant toutes les images associées à la couche.
Le lien est donc relatif à partir de l'emplacement de la couche shape.
Lorsque je charge la couche sous QGIS, j'aimerai pouvoir, pour chaque ponctuel, afficher les photos associée et/ou avoir un lien cliquable qui mène vers la photo.
En passant par les propriétés de la couche > Formulaire d'attributs, je ne peux mettre que le chemin relatif du projet et pas de la couche shape.
Je tente donc de modifier le chemin par défaut en mettant une formule du genre : file_path('CE_Encomb_d7df388e_610a_43c0_a859_7dc916eef799') ou layer_path('CE_Encomb_d7df388e_610a_43c0_a859_7dc916eef799')
*CE_Encomb_d7df388e_610a_43c0_a859_7dc916eef799 est le nom / l'identifiant de la couche
Le problème est que "file_path" ne fonctionne pas sur un nom de couche et que je ne trouve que la fonction "project_path" et non "layer_path"...
Du coup, est-ce que quelqu'un saurait comment faire? Quelle fonction utiliser pour récupérer le chemin d'une couche par son nom/identifiant?
Ensuite, j'ai cherché comment afficher les images directement dans le projet, mais je ne trouve pas de solution qui fonctionne... L'extension ImportPhotos est la seule extension qui se rapproche, mais je dois créer une nouvelle couche spécifique à partir d'un dossier de photos, alors que je voudrais utiliser les chemins indiqués dans le champ "Photo" de mon shape.
Merci à qui pourra m'aider ! Niko
Hors ligne
#2 Fri 20 August 2021 01:30
- lylambda
- Participant actif
- Date d'inscription: 31 Aug 2016
- Messages: 127
Re: QGIS: Gestion d'images et chemin relatif
Des éléments de réponse ici : https://georezo.net/forum/viewtopic.php … 30#p342230
Pour résumer, c'est possible en utilisant un géopackage plutôt qu'un shapefile, avec un style intégré basé sur des champs virtuels et la variable layer_property(@layer_id,'source').
Hors ligne
#3 Fri 20 August 2021 08:41
- aheurion
- Participant actif
- Lieu: NANTES
- Date d'inscription: 8 Oct 2020
- Messages: 143
Re: QGIS: Gestion d'images et chemin relatif
Bonjour,
Je pense qu'il y a plus simple : si ton arborescence de projet ressemble à ça :
-> Dossier_du_projet :
-> projet.qgs
-> Dossier_de_la_couche_shape :
-> couche.shp
-> Dossier_photos :
-> photo_0001.jpg
-> photo_0002.jpg
-> photo_0003.jpg
-> etc.
Le champ "champ_photo" de ta couche contient un chemin relatif à ta couche : 'Dossier_photos/photo_0001.jpg'
Ce qu'il te faut c'est un chemin relatif au projet : 'Dossier_de_la_couche_shape/Dossier_photos/photo_0001.jpg'
Il suffit donc d'utiliser une concaténation : concat('Dossier_de_la_couche_shape/',"champ_photo")
N.B.: Il faut peut-être utiliser un \ au lieu de / ça dépend du format que tu as (si tu as mis à jour le champ et que ça ne fonctionne tu peux utiliser regex_replace("champ_photo",'\','/')
Dernière modification par aheurion (Fri 20 August 2021 08:42)
Hors ligne
#4 Fri 20 August 2021 10:18
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3939
Re: QGIS: Gestion d'images et chemin relatif
Bonjour,
Code:
layer_property(@layer_id,'path')
me semble-t-il renvoie le chemin d'une couche de type shapefile (https://docs.qgis.org/3.16/fr/docs/user … r-property)
Hors ligne
#5 Sun 22 August 2021 16:44
- V.GIRAULT
- Participant occasionnel
- Lieu: Villeneuve-les-Cerfs
- Date d'inscription: 25 Jun 2019
- Messages: 25
Re: QGIS: Gestion d'images et chemin relatif
Bonjour ! Oui en passant par variable chaîne ton nom de fichier...
Hors ligne