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

Annonce

Les inscriptions sont ouvertes ! L'association GeoRezo sera présente

#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

 

Pied de page des forums

Copyright Association GeoRezo