#1 Mon 29 October 2018 16:08
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: 391
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
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
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
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
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
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: 992
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
Sylvain M.
Hors ligne
#13 Mon 26 November 2018 15:15
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à !
Hors ligne