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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 29 October 2018 16:08

jmaitte
Juste Inscrit !
Lieu: Oignies
Date d'inscription: 22 May 2008
Messages: 8
Site web

QGIS 3.2: Atlas photo possible ?

Bonjour,
j'aimerais réaliser un atlas "photo". C'est à dire utilisez des attributs d'une table (qui n'est pas ma table de couverture d'atlas) contenant le chemin vers une photographie (coinjoitement avec d'autre tel que l'identifiant de mon objet)

Le top serait de reproduire l'item "table attributaire" des objets affichées (avec le filtre "affiché uniquement les objets  visible sur la carte") avec la visualisation de la photo

La solution se trouverait-elle dans l'objet cadre html ? si oui, je ne vois absolument pas comment appelés ma table en question (et lui appliqué des filtres)

J'ai recherché sur le net, en vain.... en général, c'est pas bon signe...


[img]https://zupimages.net/up/18/44/ezf5.png[/img]

Hors ligne

 

#2 Mon 29 October 2018 18:31

laurent00
Participant assidu
Date d'inscription: 6 Aug 2007
Messages: 402

Re: QGIS 3.2: Atlas photo possible ?

sais pas si j'ai tout compris ...

si tu as le chemin de ta photo dans un champ, tu peux l'appeler dans les propriétés de ton image...
si ton URL est dans une autre table, il faut faire une jointure ...

LJ

Hors ligne

 

#3 Tue 30 October 2018 10:03

jmaitte
Juste Inscrit !
Lieu: Oignies
Date d'inscription: 22 May 2008
Messages: 8
Site web

Re: QGIS 3.2: Atlas photo possible ?

je vais essayer de mieux m'expliquer.

1) je souhaite réaliser un atlas (environ 70/80 cartes) avec une couche de couverture correspondant aux communes.
2) cet atlas recense certains bâtiments (couche bati.shp). Dans les attributs de la couche, il y a la présence d'un lien qui fait référence à une photo (mais qui peut être vide)

Mon souhait est de pouvoir réaliser cette atlas en visualisant les photos (avec leur identifiant du bâtiment compris dans un autre champ) des bâtiments, avec la possibilité aussi de poursuivre l'impression sur les pages suivantes (il y a une option sur le cadre html qui pourrait faire ça ("mode de redimensionnement")).

Si j'appelle directement mon attribut dans le cadre html en faisant référence au champs "photo" de ma table, il va me mettre toutes les photos, pas uniquement ceux qui sont concernés par la mise en page (présent dans la carte).

Hors ligne

 

#4 Tue 30 October 2018 13:49

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: QGIS 3.2: Atlas photo possible ?

Aloha

Et en cochant le bouton "show only features intersecting atlas" ?
Ou en utilisant les mises en pages type rapport pour avoir des rendus au besoin multi pages ?

Visiblement ces fonctionnalités sont peu connues, déjà deux messages où je fais sensiblement la même réponse...


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#5 Tue 30 October 2018 14:27

jmaitte
Juste Inscrit !
Lieu: Oignies
Date d'inscription: 22 May 2008
Messages: 8
Site web

Re: QGIS 3.2: Atlas photo possible ?

le bouton "show only features intersecting atlas" est une propriétés de l'objet "table attributaire". Par le biais de l'affichage de la table attributaire, je ne peux visualiser les photos (uniquement leur lien..). à moins que l'on puisse demander  à l'élément "table attributaire" de se comporter comme du html (mais je suis nullasse en code... faut que je me forme pour ca..)

En gros, j'aimerais pouvoir faire comme l'exemple joint sauf qu'à la place de voir les liens, je veux voir les photos.

Pierre : je ne connaissais pas les mise en pages type rapport, je vais me pencher dessus...

Hors ligne

 

#6 Tue 30 October 2018 15:40

jmaitte
Juste Inscrit !
Lieu: Oignies
Date d'inscription: 22 May 2008
Messages: 8
Site web

Re: QGIS 3.2: Atlas photo possible ?

bon, pour ce que j'en ai compris, les rapports sont une sorte de "super atlas" avec la possibilité d'y inclure des niveaux hiérarchiques...
Mais ca ne réponds pas à ma question de la visualisation des mes photos...

Hors ligne

 

#7 Tue 30 October 2018 16:15

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: QGIS 3.2: Atlas photo possible ?

Essayez de construire la requête sql qui renvoie pour chaque commune l'ensemble des url des photos. Après, il vous suffira d'utiliser cette liste filtrée par le nom de la commune (Avec les cadres html : en utilisant les variables @atlasfeaturename un truc du genre) pour n'afficher que les photos voulues.


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#8 Tue 30 October 2018 16:51

jmaitte
Juste Inscrit !
Lieu: Oignies
Date d'inscription: 22 May 2008
Messages: 8
Site web

Re: QGIS 3.2: Atlas photo possible ?

Mhh.. si je fais ca, je vais me retrouver avec une table qui va répéter la géométrie autant de fois qu'il y a de bâtiment... (je ne vois pas comment obtenir un résultat 1 valeur "commune" -> X valeurs "photo"... avec une requête j'aurais 1 valeur "commune" -> 1 valeur "photo" donc multiplication d'une même valeur  commune par le nombre de fois ou il y a présence d'un bâtiment)

Hors ligne

 

#9 Wed 31 October 2018 17:15

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: QGIS 3.2: Atlas photo possible ?

.... hmmm.
Par exemple, avec des fonctions d'aggrégat ? string_agg ?
Grouper par son id, il y aura bien une ligne apr commune avec une colonne contenant l'ensemble des url des photos. En manipulant un peu les délimiteurs, vous devriez arriver à obtenir le code html pour afficher les photos.
Je dis ça, je dis rien.


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#10 Fri 02 November 2018 18:12

dominique.lys
Participant assidu
Date d'inscription: 5 Oct 2006
Messages: 473
Site web

Re: QGIS 3.2: Atlas photo possible ?

Bonjour,

Si la couche des bâtiments contient le code commune alors il est possible de définir une relation 0-n dans QGIS (menu projet/propriétés/relations). On peut ensuite utiliser la fonction relation_aggregate dans le moteur d'expression pour récupérer une chaîne concaténée des url des photos. Il est également possible d'arriver au même résultat sans définir de relation au préalable avec cette fois la fonction aggregate.

Il suffit donc de s'appuyer sur l'une ou l'autre de ces fonctions pour construire le code du frame html dans le composeur, exemple :

Code:

<div style="display:flex; flex-wrap:wrap;">

[%
relation_aggregate('relation1', 'concatenate',
'<div><img src = "' + "photo" +  '" width="200" height="200" /></div>', ' ')
%]

</div>

Ici j'utilise Flexbox pour que le placement des photos dans le frame se fasse de façon intelligente et dynamique.

Il est envisageable de construire des expressions plus élaborées en s’appuyant sur les fonctions array  (string_to_array, array_foreach ...). Pour un maximum de souplesse on peut aussi écrire sa propre fonction Python pour générer le code html.

Dernière modification par dominique.lys (Sun 04 November 2018 11:50)

Hors ligne

 

#11 Wed 14 November 2018 10:31

jmaitte
Juste Inscrit !
Lieu: Oignies
Date d'inscription: 22 May 2008
Messages: 8
Site web

Re: QGIS 3.2: Atlas photo possible ?

Je me suis replonger depuis hier sur ce problème,
un grand merci à Dominique !
Grâce à vous, je m'en suis sorti avec le code

Code:

<div style="display:flex; flex-wrap:wrap;">

[%
relation_aggregate('relation', 'concatenate',
'<div>
<figure>
<img src = "' + "PHOTO" +  '" width="200" height="150" />
<figcaption>' + "idpar" + '<\figcaption>
</div>', ' ')
%]

</div>

qui me permet aussi de libellé mes photos par leurs identifiants (ici parcellaire "idpar")

Me reste plus qu'a affiné tout

Dernière modification par jmaitte (Wed 14 November 2018 10:32)

Hors ligne

 

#12 Wed 14 November 2018 12:51

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: QGIS 3.2: Atlas photo possible ?

Je n'ai pas lu l'ensemble des échanges de ce fil, mais je suis intéressé par le résultat : pourrais-tu nous faire une capture d'écran de ce que tu obtiens dans QGis ?
Ça me semble très intéressant smile


Sylvain M.

Hors ligne

 

#13 Mon 26 November 2018 15:15

jmaitte
Juste Inscrit !
Lieu: Oignies
Date d'inscription: 22 May 2008
Messages: 8
Site web

Re: QGIS 3.2: Atlas photo possible ?

Je poste le résultat visuel de ce que j'obtiens,
je n'ai pas eu le temps de m'y replonger mais il faudrait que je revoie cette fonction flex pour essayer de minimiser les marges (et surtout si la fonction ne peut placer les images en fonction de la place du cadre..)

mais l'idée est là !


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB