Message posté par : SANTANNA
----------------------------------------
Bonjour,
@Lorran, j'ignore où ça en est de ce souci mais j'ai une solution automatique. En
fait, je l'avais depuis le 06 mais un bug dans QGIS
(
https://github.com/qgis/QGIS/issues/33382) fait que le style d'expression que
j'utilisais ne marche pas. En écrivant autrement, ça passe.
Sur le composeur, je positionne mon objet étiquette là où je veux. On va prendre
l'étiquette supposée être au sud.
Dans les propriétés texte de l'étiquette, on va rentrer une expression qui va aller
récupérer le numéro de la case au sud
-----------------
Code :
aggregate(
'Feuille 5000', -- le nom de la couche
'min' , -- choisir une fonction aggregate qui va renvoyer une valeur du champ
"Numéro de feuille", -- le nom du champ dont on récupère l'info
within( -- c'est ici que tout se joue, on va étudier la superposition
translate( centroid($geometry), 0, 750), -- entre un point virtuel qui est supposé se
retrouver à l'intérieur de la case au sud, et seulement celle là. En translatant en y
le centroïde de l'entité atlas de plus de hauteur/2, j'ai choisi 750 mais dans un
cas où les grilles ne seraient pas identiques, on pourrait la faire calculer.
geometry(@parent) -- ça c'est pour dire prend n'importe quelle géométrie de la
couche
)
)
-----------------
A adapter aux autres points cardinaux.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=328525#p328525
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