Message posté par : SANTANNA
----------------------------------------
Bonjour,
Si je prends votre première formule, j'ai des doutes sur ce que renvoie dans le
array_sort le bloc
-----------------
Code :
area(intersection(@geometry, $geometry))
-----------------
En fait @geometry et $geometry sont, me semble-t-il, identiques, donc 1, et par conséquent
le tri se fait sur la concatenation "nom: surface" d'où, Saint précédera
toujours Ségrie.
Si vous êtes sur QGIS >=3.28, la fonction overlay_intersects
(
https://docs.qgis.org/3.34/fr/docs/user_manual/expressions/functions_list.h…)
intègre déjà un argument sort_by_intersection_size, qui devrait sacrément alléger votre
code, et faire le job. Code non testé:
-----------------
Code :
overlay_intersects(
'T_commune_5898a6b5_b79c_43b6_8990_3eb7b8f856b6',
concat("CM_NOM", ': ', area(intersection(@geometry,
geometry(@parent)))), -- je pense que c'est la bonne écriture ici
sort_by_intersection_size:='des)
-----------------
Vous passez ensuite un index
(
https://docs.qgis.org/3.34/fr/docs/user_manual/expressions/functions_list.h…)
ou un array_get
(
https://docs.qgis.org/3.34/fr/docs/user_manual/expressions/functions_list.h…)
à la liste pour récupérer ce que vous souhaitez.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=371243#p371243
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