#1 Mon 01 July 2024 09:44
- ptycharly56
- Participant occasionnel
- Lieu: Lorient
- Date d'inscription: 13 Jan 2015
- Messages: 19
QGIS 3.34.7: reference de relation et filtre spatial
Bonjour,
Je suis en train de construire un formulaire en vue de réaliser un recensement terrain via Qfield. Le formulaire de la table 'recensement' implique la récupération de données d'adresse issues de la table 'ban géolocalisée'. En passant par une référence de relation je souhaite récupérer les informations "numéro de voie", "rep" et "nom de voie" de la 'ban géolocalisée' dans un rayon de 100 mètres de la position de l'entité créée dans la table recensement.
Ma relation est la suivante :
Couche de référence : 'ban géolocalisée'
Champ référencé : id
Couche référençante : 'recensement'
Champ référençant : id_ban
La relation fonctionne parfaitement. Dans le formulaire, j'ai bien la liste déroulante des "numéro de voie" et "nom de voie" qui me sont proposées sous 'id_ban' paramétré en référence de relation.
La difficulté se situe dans la réalisation d'un filtre spatial.
Je m'interroge sur la méthode pour réaliser ce filtre? En tâtonnant j'ai testé un filtre dans l' "expression d'affichage" de la relation avec l'expression ci-dessous mais sans succès. Il y a bien une (longue) recherche de résultat qui ne donne pas de proposition visible.
Code:
case when array_intersect(array("nom_voie"),aggregate('ban_geo','array_agg',"nom_voie",intersects($geometry,buffer(geometry(@parent),100)))) then concat("numero",' ',"rep",' ',"nom_voie") end
Existe-t-il une méthode pour y parvenir?
Et par ailleurs, ce type de filtre spatial ne serait-il pas trop gourmand en calcul provocant en conséquence une latence d'affichage des résultats et d'autant plus dans l'objectif d'embarquer le formulaire dans Qfield?
Merci d'avance.
Hors ligne