Annonce
Les inscriptions sont ouvertes ! L'association GeoRezo sera présente
Pages: 1
- Sujet précédent - QGIS 3.40/Atlas: Table enfant et affichage en tableau HTML - Sujet suivant
#1 Hier 18:49
- guibouvier
- Participant actif
- Date d'inscription: 23 Jan 2007
- Messages: 113
QGIS 3.40/Atlas: Table enfant et affichage en tableau HTML
Bonjour
je suis sous Qgis 3.40 et je travaille avec deux tables :
- une geometrique, correspondant à des commerces
- une attributaire correspondant aux enseignes. Les enseignes sont reliées aux commerces par leur id_commerce.
Un commerce peut avoir une ou plusieurs enseignes chacune ayant des propriétés de largeur, hauteur, type de support et un lien URL vers une photo.
J'ai déclaré la relation Parent-Enfant dans les propriétés du projet et je parviens à faire ce que je veux dans les formulaires d'attribut des deux couches.
Là où ça se corse, c'est pour la réalisation d'un atlas
J'aimerai faire un atlas de mes commerces. Chaque page de mon atlas correspond à un commerce avec ses attributs et sa mini-carte. Jusque là pas de souci. Mais je voudrai aussi que sur cette page apparaisse toutes les enseignes liées à ce commerce
Je parviens à afficher une table attributaire de mes enseignes liées en choisissant source "Relation Enfant". Le hic, c'est que j'aimerai que dans ce tableau apparaisse pour chaque enseigne, sa photo. A moins que je me trompe, de ce que je vois sur les forums ce n'est pas possible d'avoir une miniature dans un objet de type table attributaire.
Je me suis donc tourné vers un tableau de type html qui devrait me permettre d'afficher des images. Sauf que je ne sais pas comment appeler les valeurs des champs de ma table "enseigne" (table enfant) qui correspondent strictement à l'entité courante "commerce" de ma page d'atlas.
Si vous avez des infos je suis preneur.
Merci d'avance
Cordialement
Gui
Hors ligne
#2 Aujourd'hui 12:54
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1784
Re: QGIS 3.40/Atlas: Table enfant et affichage en tableau HTML
Les photos doivent être importées par le plugin ImportPhotos. Les photos doivent être dans un dossier (ex. dossier 'implantation') qui est à la même racine que le projet qgis.
Dans un champ doit être paramétré le nom du dossier et la photo (ex. implantation/photo.jpeg).
Dans l'atlas, on fait ajouter une image et on édite par le E sigma l'expression : @project_folder || '/' || attribute('photo')
Hors ligne
#3 Aujourd'hui 14:01
- guibouvier
- Participant actif
- Date d'inscription: 23 Jan 2007
- Messages: 113
Re: QGIS 3.40/Atlas: Table enfant et affichage en tableau HTML
Merci pour votre retour, meme si je ce que je cherchais à faire était un peu plus complet.
J'ai finalement trouvé une solution qui me convient, je la partage.
Pour appeler une table enfant dans un atlas sous forme de tableau html, il faut passer par une relation de type aggregate
Voici ce que ça donne appliqué à mon sujet par exemple :
Code:
relation_aggregate( relation := 'lien_commerce_enseignes', aggregate := 'array_agg', expression := "id_enseigne" )
De telle manière, il va chercher dans la relation QGIS toutes les enseignes liées au commerce courant de l'atlas et retourne un tableau de valeurs (array) qu'il faudra ensuite mettre en forme en html. (notamment mes fameuses images d'enseignes qu'on appelera à partir d'une balise <img>)
A bientôt
Hors ligne
Pages: 1
- Sujet précédent - QGIS 3.40/Atlas: Table enfant et affichage en tableau HTML - Sujet suivant


