Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Fri 09 April 2021 10:24

Ant-sig
Membre
Date d'inscription: 7 Apr 2021
Messages: 1

QGIS: Import photo dans un chouche SHP type point

Bonjour,

je sollicite votre aide car je n'arrive pas à faire une manipulation sous Qgis. Je souhaiterais créer une couche de point indiquant la localisation de la prise de vues des photos. J'ai réussi par le biais d'imports photos sous qgis 3.4 à créer une couche qui me permet de visualiser les photos avec le point d'information. Cependant les photos restent stockées dans un fichier donc si je déplace ces photos le lien est perdu. Existe-il la possibilité de créer une couche de point avec la photo mais que la photo soit stockée dans la couche et non dans un fichier ?

je ne sais pas si je suis très claire...

Merci pour votre aide, Cordialement, Antoine

Hors ligne

 

#2 Fri 09 April 2021 11:13

Joseph Jacquet
Membre
Date d'inscription: 19 Feb 2020
Messages: 11

Re: QGIS: Import photo dans un chouche SHP type point

Bonjour,

J'imagine que tu as une couche shapefile, dans ce cas, effectivement ce n'est pas possible. Il est simplement possible de stocker le chemin de la photo et de la visualiser avec un formulaire. Il est peut-être possible de créer une variable pour mettre à jour automatiquement le chemin de la photo lorsqu'elle change de répertoire mais je ne sais pas tellement comment mettre en œuvre ça mais c'est une piste.

Après, il faudra sûrement se rapprocher d'un stockage en base ou bien avec le format de couche Geopackage qui stocke les images (attribut au format BLOB).

Bon courage

JJ

Dernière modification par Joseph Jacquet (Fri 09 April 2021 11:37)

Hors ligne

 

#3 Sat 10 April 2021 17:00

lylambda
Membre
Date d'inscription: 31 Aug 2016
Messages: 96

Re: QGIS: Import photo dans un chouche SHP type point

Bonjour,
Si le besoin est d’intégrer les photos dans une couche/base de donnée géographique, je ne saurais aider. Peut être quelqu’un d'autre apportera une solution spécfique.

Par contre il est possible de stocker des photos géoréferencés dans un dossier (ou une arborescence de dossier) en l'accompagnant d'une couche géographique les localisant et les affichant dans QGIS.
Comme l'indique Joseph, pour que le déplacement de ce dossier de photos ne "casse" les liens contenue dans la couche, il faut utiliser un style basé sur des variables relatives.


Concrètement voici la procédure que je suis :

1. Classement et éventuellement renommage de mes photos géoreferencés dans un dossier (avec des sous-dossiers au besoins, cela ne change rien)

2. Dans QGIS, création d'un géopackage à l'aide du traitement "Importer des photos géolocalisées". Le gpkg est créé dans le dossier photo (le dossier "racine" si il y a une arborescence de sous-dossiers)

3. Création de champs VIRTUELS :
- Ouvrir "Propriétés de la couche" > "Champs" > Bouton "Calculatrice de champ" > Cocher "Créer un champ virtuel". Remplir les "Nom" et "Expression" suivantes :
- "Dossier", basé la variable layer_property(@layer_id,'source'). Pour faire simple, le code suivant indique automatiquement le dossier où se situe le gpkg référençant toutes les photos. Oui c'est pas très propre, mais ça marche sur Windows comme sur Linux !

Code:

replace((regexp_replace( left( layer_property(@layer_id,'source'), 4+strpos( layer_property(@layer_id,'source') ,'.gpkg')), '/' || '(\\w+)' || '.gpkg', '') || '/'), array('//', '\\\\'), array('/','\\'))

- "Fichier", basé sur les champs automatiquement créé par le traitement "Importer des photos géolocalisées" de QGIS (C'est à adapter si les photos sont générés par exemple dans QField, mais ce n'est pas le sujet ici). Le code ci-dessous renvoi le nom du fichier photo pour chaque entité du gpkg.

Code:

replace( "photo" , "directory"||'\\' ,'')

- "Chemin", qui concatène les 2 précédentes variable pour créer à la volée le chemin où est situé chaque photo dans le dossier photo (ou ses sous-dossier).

Code:

"Dossier"||"Fichier"

4. OPTIONNEL / Afficher les miniatures des photos dans QGIS :
- Ouvrir "Propriétés de la couche" > "Symbologie" > Encart "Symbole" > Sélectionner "Symbole image raster" > Bouton "Valeur définie par des données (expression)" à droite du chemin à renseigner > "Editer..." > Encart "Expression", choisir notre champ virtuel

Code:

"Chemin"

5. OPTIONNEL / Afficher la photo correspondante lorsque la souris survol une entité dans QGIS :
- Ouvrir "Propriétés de la couche" > "Infobulles" > Encart Infobulle "HTML"

Code:

<img src="file:/[%"Chemin"%]"; style='max-width: 400px; max-height: 400px;' > </img> 
<div style="font-size:16px; text-align:center"> [% "filename" %] </div>

6. OPTIONNEL / Ouvrir une photo dans la visionneuse au clic-action sur une entité :
- Ouvrir "Propriétés de la couche" > "Actions" > Bouton "+"
- Type , choisir "Ouvrir l'URL"
- Description, écrire "Photo" (ou tout autre nom)
- Action

Code:

file:/[% "Chemin" %]"

7. Enregistrer le style DANS le gpkg
- Ouvrir "Propriétés de la couche" > Bouton "Style" en bas > "Enregistrer le style..." >
- Enregistrer le style "Sans la base de données (Géopackage)"
- Nom du style "defaut" (ou tout autre nom, peu importe)
- Cocher "Utiliser comme style par défaut pour cette couche


En ce qui me concerne le style est sauvegardé en qml, et un "Modele" automatise en partie ce processus de création et stylisation de couche de photos géoréferencées.
En tout cas, je peux ensuite renommer/déplacer/transmettre le dossier contenant le gpkg et les photos, sans que les chemins soient cassées.

Dernière modification par lylambda (Sat 10 April 2021 17:04)

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |