Pages: 1
- Sujet précédent - QGIS 3.28 : calulatrice de champs et manipulation de géométrie - Sujet suivant
#1 Mon 08 January 2024 16:54
- tarmac
- Juste Inscrit !
- Lieu: Oraison
- Date d'inscription: 25 Aug 2023
- Messages: 8
QGIS 3.28 : calulatrice de champs et manipulation de géométrie
Bonjour à toutes et à tous,
je vous souhaite une belle et heureuse année 2024 !
je m'adresse à vous car je bloque sur une sujet sans doute maintes fois traité dans ce forum tant la manipulation doit être courante. Pour autant je n'ai pas trouvé de réponse à mon problème. Je suis donc preneur de toute piste de réflexion ou de lien vers des discussions déjà existantes.
Mon besoin : récupérer un polygone (une parcelle) issu d'une couche (parcelle) qui comporte un attribut (identifiant unique) identique à celui de la table dans laquelle je souhaite l'intégrer. Je souhaite réaliser cette manipulation par la calculatrice de champs afin de pouvoir réaliser l'opération en lot.
Par le biais de la calculatrice de champ, mise à jour d'un champ existant et en sélectionnant le champ geometry, je formule :
aggregate('Parcelles','collect', geometry(@geometry),"idu_parc_archive" = attribute(@parent,'geo_parcelle'))
Bien que la géométrie existe bien dans la couche parcelles, la prévisualisation et l'exécution de la formule n'aboutit pas à l'adjonction de la géométrie dans la couche de destination.
Je n'arrive pas à déceler mon erreur de compréhension de la fonction ou peut-être de syntaxe.
Quelqu'un pourrait-il m'aiguiller sur une piste ?
Merci d'avance.
Julien
Julien M.
Hors ligne
#2 Tue 09 January 2024 10:54
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS 3.28 : calulatrice de champs et manipulation de géométrie
Bonjour,
Pas tout checké mais le geometry(@geometry) me semble louche.
Code:
aggregate('Parcelles','collect', @geometry,"idu_parc_archive" = attribute(@parent,'geo_parcelle'))
Hors ligne
#3 Tue 09 January 2024 11:16
- tarmac
- Juste Inscrit !
- Lieu: Oraison
- Date d'inscription: 25 Aug 2023
- Messages: 8
Re: QGIS 3.28 : calulatrice de champs et manipulation de géométrie
Je me réponds avec la solution avec pour paramètres :
'Parcelles' > la couche qui contient la géométrie à collecter
@geometry > la géométrie à collecter
filter > "geo_parcelle" = identifiant unique de la géométrie dans la couche 'Parcelles' qui est équivalent à la valeur de l'attribut de la table de destination de la géométrie collectée, cet attribut étant 'idu_parc_archive'
aggregate(layer:='Parcelles',
aggregate:='collect',
expression:=@geometry,
filter:="geo_parcelle" = attribute(@parent, 'idu_parc_archive' )
)
En espérant avoir été explicite.
Merci SANTANNA je viens de découvrir ton retour en même temps que je validais ce post. Effectivement c'était bien le geometry qui posait problème.
Julien M.
Hors ligne
Pages: 1
- Sujet précédent - QGIS 3.28 : calulatrice de champs et manipulation de géométrie - Sujet suivant