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 Thu 26 January 2017 06:55

teahupoo
Participant occasionnel
Date d'inscription: 17 Feb 2009
Messages: 29

QGIS: Atlas et changement de masque

Bonjour à tous,

Je rencontre un problème pour la création d'un atlas sous Qgis.

Je m'explique:

- Je souhaite créer un atlas par planche (une grille) tout en faisant apparaître un masque qui correspond a une autre couche (mes quartiers).

- J'utilise le plugin Mask pour créer mon masque.

-Je paramètre mon atlas de la façon suivante: la couche de couverture correspond à ma grille.

Le problème que je rencontre:

Lorsque je lance la création de mon atlas, mon masque bascule automatiquement sur ma grille et non plus sur mes quartiers.

Quelqu'un a-t-il déjà rencontré le même problème? Y a-t-il une option que j'oublie complétement de sélectionner?

Merci à vous par avance,

Bonne journée.

Dernière modification par teahupoo (Thu 26 January 2017 06:56)


géomaticienne

Hors ligne

 

#2 Thu 26 January 2017 10:30

Xavier Julian
Participant assidu
Lieu: Orange
Date d'inscription: 19 Jan 2015
Messages: 218

Re: QGIS: Atlas et changement de masque

Bonjour,

Il me semble simplement que ce n'est pas possible de faire ce que vous souhaitez.
La couche servant pour l'atlas doit être la même que celle utilisée par le plugin Mask (si je comprends bien la doc officielle) :

"If mask plugin is loaded, and a mask has been set (please do not rename it), it will then automatically be applied to each Atlas iteration."

https://github.com/aeag/mask/wiki#in-at … k-features

Dernière modification par Xavier Julian (Thu 26 January 2017 10:43)

Hors ligne

 

#3 Thu 26 January 2017 13:49

Benoit91
Participant assidu
Date d'inscription: 2 Oct 2008
Messages: 263

Re: QGIS: Atlas et changement de masque

Bonjour

Je ne sais pas si j'ai bien compris votre besoin, mais vous pouvez utiliser l'expression suivante sur votre couche "quartier"

Code:

 intersects(  $geometry , @atlas_geometry )

avec Style=> polygones inversés =>ensemble de règle=> puis saisir l'expression.

Normalement dès que la grille de l'atlas intersecte un quartier, le mask s'affiche.

Cordialement.

Hors ligne

 

#4 Thu 26 January 2017 15:45

Kadiri28
Participant actif
Lieu: Toulouse
Date d'inscription: 10 Mar 2010
Messages: 121

Re: QGIS: Atlas et changement de masque

Bonjour,
Pour moi je n'utilise plus le plugin mask depuis qu'on peut faire les polygones inversés, je m'expliques.

- je crée une grille polygone
- j'applique un style "polygone inversé" avec un sous moteur "ensemble de règle" en mettant comme la seule règle (id_grill = @atlas_id)
- je génère l'atlas

et puis c'est tout!

Bon courage

Hors ligne

 

#5 Wed 01 February 2017 21:03

haubourg
Participant assidu
Lieu: Grenoble
Date d'inscription: 7 Sep 2005
Messages: 257
Site web

Re: QGIS: Atlas et changement de masque

Kadiri28 a écrit:

Bonjour,
Pour moi je n'utilise plus le plugin mask depuis qu'on peut faire les polygones inversés, je m'expliques.

- je crée une grille polygone
- j'applique un style "polygone inversé" avec un sous moteur "ensemble de règle" en mettant comme la seule règle (id_grill = @atlas_id)
- je génère l'atlas

et puis c'est tout!

Bon courage


Bonsoir, je réagis après quelques mois chargés smile
Pour remettre les choses dans l'ordre, nous (moi et mon ancien employeur) avons initié le plugin mask, et pour le rendre plus chouette avons financé le mode de rendu de polygone inversé. Le plugin n'étant plus qu'un raccourci pour les utilisateurs pour qui une expression de code est une arme dangereuse et mystérieuse.
Le plugin Mask ajoute cependant encore une plue value difficile à obtenir par expression:  le filtrage d'étiquettes à la volée, pour n'afficher que les étiquettes dans le mask.. une expression chapeau "in_mask" cache différents opérateurs possibles allant de intersects à point_on_surface, selon les choix faits dans l'interface graphique. Bonus, sur certaines cartes, c'est aussi beaucoup plus rapide, l'étiquetage étant gourmand, moins on en met, mieux c'est.

Et c'est toute la beauté de développer générique, on développe pour un cas bien prévu, avec le souci du générique, et les réutilisations imprévues que l'on voit fleurir par ailleurs montrent une créativité qui ne cesse de m'épater, tout en assurant une efficience de l'argent public dépensé sans précédent.. Certains prônent le big is beautiful pour les économies.... dans l'univers du logiciel libre, c'est tout l'inverse, petit, rapide, souvent, ça marche infiniment mieux! (et en plus c'est fun)

Régis

Hors ligne

 

#6 Thu 09 February 2017 11:55

teahupoo
Participant occasionnel
Date d'inscription: 17 Feb 2009
Messages: 29

Re: QGIS: Atlas et changement de masque

Merci beaucoup pour toutes vos réponses!

Malheureusement je suis toujours bloquée sur mon problème...

En fait, la question se résume de la façon suivante: est-il possible d'avoir une couche de couverture d'atlas différente de mon masque sélectif?

Bonne journée à vous,


géomaticienne

Hors ligne

 

#7 Thu 09 February 2017 13:53

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 722

Re: QGIS: Atlas et changement de masque

teahupoo a écrit:

est-il possible d'avoir une couche de couverture d'atlas différente de mon masque sélectif?


La réponse est oui.

Il faut créer un masque à la main avec les polygones inversés sur votre couche quartier comme indiqué par Benoit91.
Supprimez aussi la couche mask.

Si vous avez des difficultés, envoyez-nous un extrait du projet avec votre grille et vos quartiers.

Cordialement,

Dernière modification par lejedi76 (Thu 09 February 2017 13:55)

Hors ligne

 

#8 Tue 27 June 2017 13:24

M-ili
Participant occasionnel
Date d'inscription: 12 Mar 2011
Messages: 18

Re: QGIS: Atlas et changement de masque

Bonjour,

je réactive la discussion, je rencontre le même problème que teapuhoo.

J'ai une rivière et je dois faire ma mise en page en fonction de cette rivière ( donc rivière au centre) mais une mise en page par commune.

En couche de couverture dans mon atlas j'ai des cadres représentant l'emprise A0 de mes MEP, mais j'ai besoin d'avoir un masque par commune.

Si je met ma couche commune en couche de couverture j'aurai bien mes masque autour de la commune concerné mais la mise en page ne sera pas bonne vu que ma rivière ne sera pas forcement centré.


J'ai testé la solution de Benoit91 mais cela ne convient pas. En effet mes cadres ont dans leurs emprises d'autres commune du fait que ma rivière doit être au centre ( la rivière est souvent la limite communale)

Mes cadres ne sont jamais à l'intérieur d'une seule commune.

lejedi76 que veux tu dire par "créer un masque à la main avec les polygone inversé?"

Merci de votre réponse

Hors ligne

 

#9 Tue 27 June 2017 17:09

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: QGIS: Atlas et changement de masque

M-ili : l'idée est d'avoir dans la table qui te sert à faire l'atlas un champ commun avec ta couche commune.
Le génie de QGIS est de pouvoir utiliser les champs de données pour n'importe quoi.

Pour faire l'atlas, il te faut un moyen de lui indiquer quelle emprise sert à centrer le cadre de la carte. Ca peut être une couche géométrique (tes cadres de MEP) ou 4 champs x-y min/max, voir un trio min/max/echelle.

Ensuite,, l'idée est de dire à ta couche commune de ne s'afficher grâce à la symbologie de règles que quand l'atlas "passe" sur ta mise en page, grâce à une colonne avec un identifiant commun à la couche de mise en page centrée sur ta commune. A toi de voir comment tu les lies.

Pour faire le masque, tu dupliques ta couche commune.

Tu vas dans la symbolique de ta couche, tu choisis polygones inversés. Ensuite dans le moteur de "sous-rendu" tu choisis de représenter ce polygone inversé par règle de décision. Là tu mets ta condition pour ne sélectionner que la commune en cours dans l'atlas (on a dit que c'était le champ INSEE, donc : "INSEE"  =  @atlas_pagename ). Si INSEE n'est pas bon, il faudra faire en sorte de lier ta couche de cadre et la commune visée.

Résultat, en principe, le filtre va aller chercher quand tu activera l'atlas le contour de la commune en cours via le champ INSEE, puis il va l'inverser en mettre le reste en blanc par exemple (tu peux mettre en transparence un peu ça rend bien).

haubourg a écrit:

Pour remettre les choses dans l'ordre, nous (moi et mon ancien employeur) avons initié le plugin mask, et pour le rendre plus chouette avons financé le mode de rendu de polygone inversé. Le plugin n'étant plus qu'un raccourci pour les utilisateurs pour qui une expression de code est une arme dangereuse et mystérieuse.


J'adore cette fonctionnalité - très très utile smile

Dernière modification par Robin (Tue 27 June 2017 17:11)


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

Hors ligne

 

#10 Wed 28 June 2017 17:50

M-ili
Participant occasionnel
Date d'inscription: 12 Mar 2011
Messages: 18

Re: QGIS: Atlas et changement de masque

Merci de ta réponse robin

En effet après plusieurs tentative infructueuse ta réponse marche super bien.

Par contre il faut que dans l'atlas le : nom de la page soit identique à celui inscrite dans le champ choisie: cad si n° = bidule - 1 le "atlas page name" ou nom de la page dans la rubrique généré un atlas = bidule - 1
(si on a choisi un nom de page et non celui par défaut)

Hors ligne

 

#11 Wed 28 June 2017 18:47

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: QGIS: Atlas et changement de masque

Oui, c'est toute la difficulté, il faut piger comment ça marche, mais une fois que c'est fait, tu peux tout faire wink
Content que ça marche, ce n'était pas facile à expliquer  !

Hors ligne

 

#12 Mon 13 November 2017 16:04

M-ili
Participant occasionnel
Date d'inscription: 12 Mar 2011
Messages: 18

Re: QGIS: Atlas et changement de masque

Je reviens à la charge sur le sujet du changement de masque.

J'ai mon atlas, avec mon masque "polygone inversé" commune ( différent de ma couche de couverture) qui se modifie en fonction de "l'atlas pagename")

J'ai une couche de ponctuel avec des étiquettes, je voudrais que dans mon atlas, il ne s'affiche que les étiquettes présentes dans le masque formé par l'atlas pagename.

J'ai testé WITHIN ( $geometry, @atlas_geometry) dans les "propriétés de la couche, étiquettes, rendu, afficher l'étiquette"  mais cela exclu seulement les étiquettes en dehors de ma couche de couverture. Alors que je souhaiterais que les étiquettes soient exclues de ma couche masque.
Je butte sur l'expression

L'une ou l'un d'entre vous aurait il une idée?

D'avance merci

Hors ligne

 

#13 Wed 15 November 2017 09:35

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 722

Re: QGIS: Atlas et changement de masque

Bonjour,

l'idée est de récupérer la géométrie de la couche en question :

Code:

within(
    $geometry, 
    geometry(
        get_feature('ma_couche_a_recuperer', 'mon_champs', @atlas_pagename)
        )
    )

Cordialement,

Dernière modification par lejedi76 (Wed 15 November 2017 09:36)

Hors ligne

 

#14 Thu 28 February 2019 14:42

Idir
Participant actif
Lieu: Perpignan
Date d'inscription: 28 Dec 2007
Messages: 94

Re: QGIS: Atlas et changement de masque

Bonjour,

J'ai le même problème que M-ili,
- une couche commune comme mask (polygone inversé),
- une couche de point pour les étiquettes,

et j'aimerais afficher toutes mes étiquettes et celles qui sont sous le mask apparaissent aussi sous ma couche commune (mask).

Merci d'avance

Hors ligne

 

Pied de page des forums

Powered by FluxBB