Message posté par : SANTANNA
----------------------------------------
Bonjour,
Désolé je pense que je n'avais pas bien compris/lu votre premier message et notamment
le fait que vous aviez deux couches. Ma réponse n'était peut-être pas appropriée à la
demande. Et j'en comprends que ce que vous souhaitez, c'est si vous sélectionnez
une entité de la couche "itineraire", les rues qui sont connectées devraient
afficher leur nom (ou pas). Si c'est un truc du genre, je vous conseillerais de
laisser tranquille votre SGBD ainsi que la jointure par localisation. Ce n'est que de
la visualisation, pas la peine de s'encombrer de couches supplémentaires, QGIS sait
gérer les relations entre couches dans ses expressions.
L'idée sera de créer pour chaque rue, la liste des tronçons d'itinéraire
qu'elle touche, de vérifier si l'un d'eux est sélectionné et d'étiqueter
en conséquence. Je vous invite à regarder la doc des fonctions utilisées pour mieux cerner
les étapes.
-----------------
Code :
with_variable(
'itinerairesproches'
overlay_nearest('coucheitineraire', @feature, limit:=-1, max_distance:=2) -- la
liste de tous les itinéraires à moins de 2 unités de la rue.
-- A vous d'adapter les paramètres, voire de tester si une autre fonction overlay_*
ne serait pas plus adaptée à vos données.
case
when array_contains(array_foreach(@itinerairesproches,
is_selected('coucherue', @element)), 'true') -- on vérifie si un des
tronçons proches de la rue fait partie des entités sélectionnées
then nomrue
end
)
-----------------
LE TRUC, c'est que cette solution marche en automatique si la coucheitineraire est
aussi étiquetée. Vous pouvez juste activer l'étiquette sur la couche avec une taille
de texte à 0, ça marche. Bug signalé à
https://github.com/qgis/QGIS/issues/60016
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=370918#p370918
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