Message posté par : jfav
----------------------------------------
Bonjour!
Mon projet contient plusieurs couches d'une base de donnée Postgres SQL créée par mes
soins. Les relations entre celles-ci sont configurées dans Postgres SQL et sont bien
interprétée par QGIS:
https://imagizer.imageshack.com/img922/7275/PP2UKs.png
Maintenant, pour Qfield au moyen de Qfiel sync, je souhaite faire en sorte que le nom de
ma photo se nomme automatiquement avec des attributs provenant des couches parents.
Prenons un exemple de mon cas. J'ai les trois tables suivantes:
Batiment, Facade et Constat_facade_photo. Constat_facade_photo est l'enfant de Facade.
Facade et l'enfant de Batiment.
De Batiment, je souhaite connaitre l'attribut 'numero_eca et de Facade, je
souhaite connaitre l'attribut id_facade.
Pour faire cela, j'ai effectué la requête fonctionnelle suivante (qui "crée"
les relations dans la requete):
-----------------
Code :
'DCIM/'
||
attribute( get_feature('batiment_cb8a62f0_3d1b_4d2a_bda7_12133954c951',
'id_batiment',
attribute( get_feature( 'facade_21fcbce6_7618_4a27_89e9_0443bde2077b' ,
'id_facade' , "facade_id_facade" ), 'id_facade' )),
'numero_eca' )
||
'_'
||
attribute( get_feature( 'facade_21fcbce6_7618_4a27_89e9_0443bde2077b' ,
'id_facade' , "facade_id_facade" ), 'id_facade' )
||
'_'
|| format_date(now(),'yyyyMMdd_hhmmss') || '.{extension}'
-----------------
Cette solution fonctionne mais je ne la trouve pas du tout élégante, à la place
j'aimerai utilisé la fonction relation_aggregate. Seulement voilà, j'ai effectué
le test suivant:
-----------------
Code :
relation_aggregate(
'constat_facade_photo_facade_id_facade_fkey', -- nom de la relation
'concatenate', -- méthode d'agrégation, ici on utilise concatenate pour
récupérer une valeur textuelle
"id_facade" -- champ de la table parent (facade) à récupérer
)
-----------------
Mais QGIS m'informe de l'erreur suivante:
https://imagizer.imageshack.com/img924/294/eiIyRP.png
Des idées sur l'erreur? Et en général sur la façon de récupérer des attributs d'un
parent dans une expression?
Merci d'avance!
Cordialement,
Jérémie
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=369024#p369024
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net