Message posté par : SANTANNA
----------------------------------------
Bonjour,
J'imagine que vos textes contiennent tous "Parcelles_ouest' oau lieu des
numérs de parcelles.
-----------------
Citation :
[%with_variable('Parcelles_ouest’, array_foreach(map_get( item_variables ('Carte
1'), 'map_layers'),layer_property( @element, 'name' )),
-----------------
C'est perturbant de créer une variable du même nom qu'une couche qui existe déjà.
Nommez les choses différemment pour ne pas vous emmêler.
Cette formule assigne à la variable 'Parcelles_ouest' la liste des couches
utilisées dans l'élément 'Carte 1'
-----------------
Citation :
case
when array_contains(@Parcelles_ouest, ‘Parcelles_ouest’) then 'Parcelles_ouest'
end)%]
-----------------
Et celui-ci vérifie si la couche 'Parcelles-ouest' fait partie de la liste des
couches, auquel cas vous lui dites d'écrire le texte 'Parcelles_ouest'.
Ici, vous voulez les parcelles visibles donc les parcelles qui intersectent l'étendue
de la carte: il faut calculer cette étendue puis faire une intersection. Et la fonction
aggregate vous permet de récupérer la liste.
-----------------
Code :
aggregate(
'Parcelles_ouest',-- le nom de la couche que vous ciblez
'concatenate', -- le type d'aggrégation de données
"idu", -- le champ contenant les données que vous souhaitez récupérer
intersects($geometry, -- le filtre: soit l'intersection spatiale entre la géométrie
de l'entité de la couche précédemment nommée
map_get( item_variables('Carte 1'), 'map_extent') -- et l'emprise
de l'objet carte que vous êtes en train de cibler
)
)
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=343365#p343365
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