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

GeoDataDays 2025

#1 Tue 24 June 2025 11:10

Vincent Vauchey
Participant assidu
Lieu: saint jean de braye
Date d'inscription: 24 Jan 2006
Messages: 297

QGIS: recupere valeur depuis table de lien

Bonjour

J'ai 2 tables , une table de point (sondage) avec un champ ''NUM_SONDAGE'' et une table sans géométrie (horizons) avec un champ ''NUM_SONDAGE''
qui et la base de la relation.

Pour le sondage 1 j'ai 5 horizons
Pour le sondage 2 j'ai 2 horizons

je voudrais dans ma mise en page (fiche sondage) récupérer les valeurs de mes horizons en fonction des sondages.

Dans la mise en page j'ai un atlas depuis la couche ''SONDAGE'' sur la valeur du champ ''NUM_SONDAGE'' je récupère les valeurs des horizons avec un tableau sans problème.

Par contre j'ai un graphique  avec des bloques de couleur qui change en fonction des données des horizons, j'utilise la fonction '' 

Code:

attribute( get_feature('BASE_SAISIE_TERRAIN — HORIZON SONDAGE V3','NUM_HORIZON',1 ),'PROF_HORIZON') ''

pour récupérer la profondeur, mon problème est que je ne peux avoir que la première valeur de la table ''horizon'' même quand je passe sur le sondage 2.


Je cherche à avoir la valeur 'PROF_HORIZON' de mon 'NUM_HORIZON' 'x' pour le ''NUM_SONDAGE'' 'x'

Je sais qu'il me manque juste une variable spécifier la valeur sondage, mais je ne trouve pas.

Par avance merci pour votre aide.
Cordialement

Dernière modification par Vincent Vauchey (Tue 24 June 2025 13:04)

Hors ligne

 

#2 Tue 24 June 2025 13:04

Vincent Vauchey
Participant assidu
Lieu: saint jean de braye
Date d'inscription: 24 Jan 2006
Messages: 297

Re: QGIS: recupere valeur depuis table de lien

J'ai mis à jour ma demande

Hors ligne

 

#3 Tue 24 June 2025 14:20

Al3+
Participant actif
Lieu: Fécamp
Date d'inscription: 5 Sep 2005
Messages: 70

Re: QGIS: recupere valeur depuis table de lien

Pas sûr d'avoir tout bien compris mais si la question est de savoir comment appliquer une recherche sur plusieurs critères pour la fonction get_feature, alors voici une piste avec la fonction map [map(key1,value1,key2,value2…)].

Ca donnerait quelque chose comme ça :


Code:

attribute( get_feature('BASE_SAISIE_TERRAIN — HORIZON SONDAGE V3',map('NUM_HORIZON',1,'NUM_SONDAGE',X) ),'PROF_HORIZON')

Où X est probablement dépendant de l'entité courante avec une valeur du genre attributes(@atlas_feature)['NUM_SONDAGE']

Hors ligne

 

#4 Tue 24 June 2025 14:43

Vincent Vauchey
Participant assidu
Lieu: saint jean de braye
Date d'inscription: 24 Jan 2006
Messages: 297

Re: QGIS: recupere valeur depuis table de lien

c'est l'idée,

Code:

'Horizon 1 :
0 -  '||
attribute( get_feature('BASE_SAISIE_TERRAIN — HORIZON SONDAGE V3',map('NUM_HORIZON',1,'NUM_PROFIL',(@atlas_feature)['NUM_PROFIL']) ),'PROF_HORIZON')
|| ' cm'

mais j'ai une erreur : Erreur d'évaluation: [] can only be used with map or array values, not QgsFeatur

Par avance merci

Hors ligne

 

#5 Tue 24 June 2025 14:46

Vincent Vauchey
Participant assidu
Lieu: saint jean de braye
Date d'inscription: 24 Jan 2006
Messages: 297

Re: QGIS: recupere valeur depuis table de lien

si je force la valeur X cela fonctionne

Code:

'Horizon 1 :
0 -  '||
attribute( get_feature('BASE_SAISIE_TERRAIN — HORIZON SONDAGE V3',map('NUM_HORIZON',1,'NUM_PROFIL',1) ),'PROF_HORIZON')
|| ' cm'

Je voudrais juste que X égal valeur courante atlas sur NUM_PROFIL

Hors ligne

 

#6 Tue 24 June 2025 14:52

Vincent Vauchey
Participant assidu
Lieu: saint jean de braye
Date d'inscription: 24 Jan 2006
Messages: 297

Re: QGIS: recupere valeur depuis table de lien

J'ai trouvé !!!!!

Code:

'Horizon 1 :
0 -  '||
attribute( get_feature('BASE_SAISIE_TERRAIN — HORIZON SONDAGE V3',map('NUM_HORIZON',1,'NUM_PROFIL',attributes(@feature)['NUM_PROFIL']) ),'PROF_HORIZON')
|| ' cm'

Merci Al3+ pour la voie ++

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo