#1 Fri 16 June 2023 15:09
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
QGIS: Affichage pylones atlas
Bonjour,
Je fais un atlas par pylône. Le pylône constitue la couche de couverture de l'atlas.
Ce pylône est le pylône projet qui va remplacer le pylône existant qui est sur une autre couche (par exemple le pylône 1N remplace le pylône existant 1).
La restriction est que je ne peux étiqueter que le pylône projet de couverture et son pylône existant correspondant.
Je fais un étiquetage basé sur des règles sur le pylône existant
case when intersects($geometry, buffer(@atlas_geometry,44)) then "TEXTSTRING" end
mais ce n'est pas convaincant car cela peut étiqueter d'autres pylônes existants plus proches du pylône projet que son pylône existant.
Comment faire pour à coup sûr faire apparaître le pylône projet et uniquement son pylône existant?
Merci.
Hors ligne
#2 Mon 19 June 2023 09:42
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS: Affichage pylones atlas
Bonjour,
Dans ce cas, pourquoi vous utilisez une condition d'intersection spatiale? Une condition sur l'attribut me paraîtrait plus adaptée. Genre j'imagine que vous avez un champ qui vous indique quel poteau remplace lequel (ex, un champ ancien_poteau ou un champ de nom de poteau construit sur la base du nom du précédent, ou...). Et si c'est pas le cas, construisez ce champ et utilisez le.
Hors ligne
#3 Wed 21 June 2023 10:55
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: Affichage pylones atlas
Bonjour Santana,
J'ai une couche de pylones projetés avec la numérotation des pylones projetés :
NUM
1N
2N
3N
...
J'ai une couche de pylones existants avec la numérotation des pylones existants où j'ai rajouté une numérotation correspondant aux projetés :
NUM NUM PROJETES
1 1N
2 2N
3 3N
... ...
Si c'est ce que vous avez demandé, quelle condition dois-je mettre pour que n'apparaisse que le pylone existant correspondant au pylone projeté de l'atlas?
Merci
Hors ligne
#5 Fri 23 June 2023 16:42
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: Affichage pylones atlas
Bonjour Santana,
J'ai réalisé cet étiquetage basé sur des règles sur les pylones existants:
attribute( @atlas_feature, "Num" )
Num étant le numéro du pylone projeté dans la couche des pylones existants, mais cela ne fonctionne pas.
A noter que les pylones projetés et exitants ne sont pas au même endroit.
Hors ligne
#6 Fri 23 June 2023 17:57
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS: Affichage pylones atlas
Bonjour,
Le deuxième paramètre de la fonction attribute est un string, pas un champ; donc ce doit être de simple guillemets et non des doubles.
Ensuite, sous réserve que j'ai compris quelle couche est quoi, cette expression est juste la condition de filtre, donc quelque chose du genre
Code:
case when NUM = attribute( @atlas_feature, 'NUM' ) then "TEXTSTRING" end
Hors ligne
#7 Sat 24 June 2023 11:55
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: Affichage pylones atlas
Bonjour Santanna,
Toujours pas. Voici en pj les deux fichiers :
- support projet : champ qui s'affiche dans l'atlas : TEXTSTRING
- support existant : champ qui doit s'afficher dans l'atlas : TEXTSTRING
: champ de correspondance support projet/support existant : Num
En espérant que cela aidera à trouver l'expression adéquate.
Merci
Hors ligne
#8 Sat 24 June 2023 22:12
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: Affichage pylones atlas
Je sais pourquoi cela ne fonctionne pas. Pour afficher les pylones existants qui correspondent aux pylones projetés de l'atlas, il faut une colonne de correspondance dans la couche des pylones existants qui recense les pylones projetés. Seulement cette couche de pylones projetés n'est pas la couche de couverture de l'atlas!
La couche de couverture de l'atlas est une autre couche qui regroupe les pylones par propriétaire.
En gros pour un ou plusieurs propriétaires, il peut y avoir :
1N
2N
3N
4N - 5N
6N
7N - 8N - 9N
...
Donc dans la couche des pylones existants, on ne peut pas construire cette table de correspondance?
Hors ligne
#9 Mon 26 June 2023 16:45
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: Affichage pylones atlas
Donc il me semble bien que seule une requête basée sur la distance est possible pour faire apparaitre les pylones existants dans l'atllas...
Hors ligne
#10 Tue 27 June 2023 10:15
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS: Affichage pylones atlas
Bonjour
Je fais un atlas par pylône. Le pylône constitue la couche de couverture de l'atlas.
Ce pylône est le pylône projet qui va remplacer le pylône existant qui est sur une autre couche (par exemple le pylône 1N remplace le pylône existant 1).
Je sais pourquoi cela ne fonctionne pas. (...) La couche de couverture de l'atlas est une autre couche qui regroupe les pylones par propriétaire.
Mon opinion de simple membre du forum: cette habitude de fournir des informations par bribes, et qui plus est contradictoires, rend vraiment difficile l'envie de trouver l'envie de vous aider à résoudre vos questionnements, aussi intéressants/stimulants qu'ils puissent paraître.
Dans l'hypothèse où j'ai finalement compris ce que vous tentez, on convertit le champ en liste et on vérifie si la valeur de l'entité de votre couche en fait partie, auquel cas on affiche son texte. Non testé!
Code:
case when array_contains( string_to_array( attribute( @atlas_feature, 'lechampcontenantlesvaleursdutype7N - 8N - 9N'), -- attention aux guillemets ' - '), Num) -- j'ai pas trop compris si c'est num ou textstring à mettre ici then TEXTSTRING end
Hors ligne
#11 Tue 27 June 2023 17:47
- conejo
- Participant assidu
- Lieu: Lunel
- Date d'inscription: 2 Dec 2005
- Messages: 1670
Re: QGIS: Affichage pylones atlas
Bonjour Santanna,
Merci pour votre proposition. Cela fonctionne.
Mille excuses si ma demande de départ est confuse voire égarée.
Encore merci.
Hors ligne