Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Wed 27 November 2019 18:57

kagou
Participant occasionnel
Date d'inscription: 7 Apr 2010
Messages: 27

QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

Objet: Ne pas tout afficher d'un calque lors de la génération d'un Atlas ?

Je gère des plans pour l'éclairage public et on tourne sous QGIS 3.10

J'ai donc un fond cadastre, des calques (armoire/lampes/réseaux électriques) et j'utilise une couche zone (polygone) afin de délimiter mes lampes par armoire et de générer un Atlas me permettant d'imprimer une page par armoire et lampes associées.

Mon problème est que sur certaines pages on peut voir l'armoire et les lampes associées mais également d'autres lampes d'autres postes car les zones s'imbriquent ou se touchent.

Comment afficher uniquement les bonnes lampes dans mon atlas ?

Sur l'image jointe on voit les lampes du poste J mais je ne veux plus y voir les lampes des postes B D J et E

Help ? Merci smile

Dernière modification par kagou (Wed 27 November 2019 18:58)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Wed 27 November 2019 22:35

PA
Membre
Lieu: Paris
Date d'inscription: 5 Sep 2005
Messages: 3259
Site web

Re: QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

Bonsoir,

Réponse rapide après lecture rapide :

Vous itérez sur quelle couche pour la génération des pages de l'atlas ?

Vous pouvez probablement utiliser $id = @atlas_featureid dans le filtre de votre symbologie.
Plus d'infos ici (en anglais) : http://www.qgistutorials.com/en/docs/3/ … ation.html


Pierre-André Le Ny
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !

Hors ligne

 

#3 Thu 28 November 2019 00:02

kagou
Participant occasionnel
Date d'inscription: 7 Apr 2010
Messages: 27

Re: QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

J'ai dans l'ordre :
couche polygone ZONE dessinées pour englober toutes les lampes d'une même armoire
couche point lampes
couche point armoire
couche polyligne reseaux
couche WMS cadastre

J'itère donc sur ZONE.

Le souci avec $id = @atlas_featureid c'est que la couche ZONE joue un role de masque sur absolument tout ce qui est en dessous. y compris le cadastre

Ce sera la solution si la couche cadastre pouvait rester totalement visible tout le temps malgré le masque créé par ZONE.
Le masque de ZONE s'appliquerait sur lampe/armoire et reseaux mais pas sur cadastre.

Un autre problème c'est que ce masque ne s'applique pas aux étiquettes... Voir image

Est ce possible ? Merci en tout cas de votre réponse fort pertinente

Dernière modification par kagou (Thu 28 November 2019 00:10)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#4 Thu 28 November 2019 08:55

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 994

Re: QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

Bonjour,

As-tu tester cette fonction (à saisir pour une symbo suivant un ensemble de règles) : CASE
   WHEN within( $geometry , @atlas_geometry ) = 1 THEN  intersects( $geometry , @atlas_geometry )
ELSE NULL
END

Hors ligne

 

#5 Thu 28 November 2019 09:02

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 994

Re: QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

Et si tu as un champ qui discrime la dépendence à l'armoire (est-ce clair ? Pas sûr), tu peux saisir toujours sous la symbo par ensemble de règles : attribute(@atlas_feature, 'ARMOIRE')="ARMOIRE"

Au plaisir,

Hors ligne

 

#6 Thu 28 November 2019 09:21

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 994

Re: QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

Et pour compléter, pour tes étiquettes tu peux travailler avec cette expression : intersects( $geometry, geometry( get_feature( 'couche_d'intersection', 'champs_de_référence', 'valeur du champs sélectionnée') ) )

Hors ligne

 

#7 Thu 28 November 2019 14:05

kagou
Participant occasionnel
Date d'inscription: 7 Apr 2010
Messages: 27

Re: QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

c'est du lourd smile je vais regarder ça ce soir merci !

Hors ligne

 

#8 Thu 28 November 2019 16:18

kagou
Participant occasionnel
Date d'inscription: 7 Apr 2010
Messages: 27

Re: QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

GlaDal a écrit:

Bonjour,

As-tu tester cette fonction (à saisir pour une symbo suivant un ensemble de règles) : CASE
   WHEN within( $geometry , @atlas_geometry ) = 1 THEN  intersects( $geometry , @atlas_geometry )
ELSE NULL
END


Tu peux m'expliquer ce que cela veut dire ? sur une couche de point pour les lampes

QUAND il est vrai que ma lampe est dans le polygone qui me sert de couche pour générer l'atlas ALORS  intersect ? SINON NULL ?

Cela me semble un peu trop complexe et a le même effet que le code suivant.

Du coup j'ai juste mis :

Code:

within( $geometry , @atlas_geometry )

dans FILTRE pour ma symbologie.

Cela fonctionne superbement pour l'Atlas généré.

Le seul souci c'est que je ne vois plus mes lampes quand je travaille sous QGIS, ou seulement celle d'une armoire.

Il faudrait pouvoir ajouter un test disant :
j'affiche mon symbole si je suis sous QGIS (pas dans un atlas) OU si lors de la génération d'un atlas il est contenu dans la géométrie de la zone servant à l'Atlas

Hors ligne

 

#9 Thu 28 November 2019 16:28

kagou
Participant occasionnel
Date d'inscription: 7 Apr 2010
Messages: 27

Re: QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

GlaDal a écrit:

Et si tu as un champ qui discrime la dépendence à l'armoire (est-ce clair ? Pas sûr), tu peux saisir toujours sous la symbo par ensemble de règles : attribute(@atlas_feature, 'ARMOIRE')="ARMOIRE"

Au plaisir,


Pour cette proposition en effet en mettant dans le FILTRE de ma symbologie de mes lampes :

Code:

attribute(@atlas_feature, 'CODE')="CODEA"

Quand c'est la Zone pour le poste A (ZONE.CODE), et que la lampe est bien sur la même armoire (LAMPE.CODEA) alors elle s'affiche .

Même souci que précédemment, pour l'atlas c'est nickel (y compris avec les étiquettes) et c'est même plus efficaces par contre sous QGIS tout ne s'affiche pas. Doit falloir ajouter un test pour savoir si on est en affichage pour générer un ATLAS ou si on est en train de travailler sous QGIS.

En tout cas énorme merci pour ces astuces !

Dernière modification par kagou (Thu 28 November 2019 16:29)

Hors ligne

 

#10 Fri 29 November 2019 10:37

odurr
Participant assidu
Lieu: Longwy
Date d'inscription: 5 Sep 2005
Messages: 201

Re: QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

Bonjour,
il faut que vous fassiez deux styles pour votre couche; un style réservé au composeur que vous pourrez mettre dans un thème pour votre atlas et un style pour travaillez dans QGIS où vous n'aurez pas la règle de l'atlas et le tour sera joué.
Cordialement
Olivier

Hors ligne

 

#11 Fri 29 November 2019 10:57

kagou
Participant occasionnel
Date d'inscription: 7 Apr 2010
Messages: 27

Re: QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

odurr a écrit:

Bonjour,
il faut que vous fassiez deux styles pour votre couche; un style réservé au composeur que vous pourrez mettre dans un thème pour votre atlas et un style pour travaillez dans QGIS où vous n'aurez pas la règle de l'atlas et le tour sera joué.
Cordialement
Olivier


Je ne sais pas où forcer l'utilisation d'un thème spécial impression pour l'atlas

Hors ligne

 

#12 Fri 29 November 2019 10:58

kagou
Participant occasionnel
Date d'inscription: 7 Apr 2010
Messages: 27

Re: QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

odurr a écrit:

Bonjour,
il faut que vous fassiez deux styles pour votre couche; un style réservé au composeur que vous pourrez mettre dans un thème pour votre atlas et un style pour travaillez dans QGIS où vous n'aurez pas la règle de l'atlas et le tour sera joué.
Cordialement
Olivier


Je ne sais pas où forcer l'utilisation d'un thème spécial impression pour l'atlas

Hors ligne

 

#13 Fri 29 November 2019 15:59

p.jeremie
Participant assidu
Lieu: Valence
Date d'inscription: 10 Sep 2017
Messages: 380

Re: QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

La doc est ici (encore en anglais pour l'instant pour la v3.4) : https://docs.qgis.org/3.4/fr/docs/user_ … eme#layers

Il faut aller dans les propriétés de l'objet carte (dans le composeur d'impression), et cocher Suivre le thème de la carte + choisir le thème souhaité.

Auparavant il faut donc avoir créé le thème dans QGis, tu sais faire ?
Dans le panneau des couches il faut sélectionner les couches que tu souhaites visibles et les styles souhaités. Puis cliquer sur l'oeil dans la barre du haut et Ajouter un thème.
La doc est ici : https://docs.qgis.org/3.4/fr/docs/user_ … map-themes

Hors ligne

 

#14 Sun 01 December 2019 15:23

kagou
Participant occasionnel
Date d'inscription: 7 Apr 2010
Messages: 27

Re: QGIS 3.10: Ne pas tout afficher lors de la Generation d'un Atlas ?

Merci à tous tout fonctionne désormais comme voulu !

Dernière modification par kagou (Sun 01 December 2019 15:23)

Hors ligne

 

Pied de page des forums

Powered by FluxBB