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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 01 February 2024 14:01

Elys
Participant actif
Date d'inscription: 1 Mar 2016
Messages: 54

QGIS: valeur d entite la plus proche par expression

Bonjour,

Je cherche a mettre à jour une couche ponctuelle ("desordres") avec la valeur d'un attribut ("Pt_Num", Integer64) du point le plus proche dans une couche ("PR").  Le but final étant de paramétrer le formulaire avec cette formule comme valeur par défaut pour un projet de saisie terrain Qfield.

J'ai testé la formule suivante qui me donne des valeurs nulles :

Code:

aggregate('PR', 'min', "Pt_Num", closest_point($geometry, geometry(@parent)))

J'ai aussi testé en inversant les deux géométries, ainsi que d'autre valeurs pour l'aggregation (max, mean, concatenate avec to-string() sur Pt_Num etc ...) mais le résultat reste le même.

Je sens que je ne suis pas loin du but mais je ne trouve pas, si vous avez la solution ?


Bonne journée, merci !

Dernière modification par Elys (Thu 01 February 2024 14:29)

Hors ligne

 

#2 Thu 01 February 2024 15:45

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3940

Re: QGIS: valeur d entite la plus proche par expression

Bonjour,
Le quatrième paramètre de la fonction aggregate, filter, doit renvoyer un booléen (vrai ou faux) pour chaque entité afin de dire si oui ou non celle-ci est à prendre en compte dans l'agrégat. La fonction closest_point renvoie une géométrie ponctuelle, donc pas vraiment ce que aggregate attend.
overlay_nearest pourrait répondre à votre besoin, genre:

Code:

to_int(array_to_string(overlay_nearest('PR', "PT_Num")))

Hors ligne

 

#3 Thu 01 February 2024 17:04

Elys
Participant actif
Date d'inscription: 1 Mar 2016
Messages: 54

Re: QGIS: valeur d entite la plus proche par expression

Génial merci ça fonctionne bien !

Bonne journée

Hors ligne

 

Pied de page des forums

Powered by FluxBB