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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 14 June 2016 16:53

YoLecomte
Participant assidu
Lieu: Epinal
Date d'inscription: 7 Jul 2015
Messages: 266

QGIS 2.14.x: Atlas uniquement pour les entités séléctionnées

Bonjour,

Je n'ai pas trouvé la réponse à cette question qui me semble pourtant assez basique.
Je souhaite n'imprimer les pages d'un Atlas que si l'entité courante est sélectionnée au préalable par l'utilisateur (autrement dit, n'imprimer les pages de l'atlas que pour les entités sélectionnées de la couche de couverture).

J'imagine bien qu'il faut passer par le filtre de l'Atlas mais une syntaxe du genre:

Code:

isselected(@couche_où_j_ai_fait_une_sélection)

ne fonctionne pas...

Y'a erreur de ma part? Ou une autre méthode?

Merci d'avance!

Hors ligne

 

#2 Tue 14 June 2016 21:20

Snoopy
Participant occasionnel
Lieu: MEUDON
Date d'inscription: 24 May 2007
Messages: 13

Re: QGIS 2.14.x: Atlas uniquement pour les entités séléctionnées

Bonsoir, si vous parlez de la fonction isselected(), c'est que vous avez installé l'extension Expressions Plus. C'est un pré-requis.
Ensuite la syntaxe n'est pas :

Code:

isselected(@couche_où_j_ai_fait_une_sélection)

mais :

Code:

 isselected('couche_où_j_ai_fait_une_sélection')

Pour n'exporter ou n'imprimer que les pages de l'atlas liées à une sélection en cours sur la couche de couverture, il suffit de filtrer l'atlas (onglet Génération d'atlas -> Filtrer avec ) avec l'expression isselected( 'couche_où_j_ai_fait_une_sélection').

La fonction isselected() peut aussi être utilisée dans un ensemble de règle pour a symbologie ou l'étiquetage.

J'espère que ma réponse vous aidera.

Dernière modification par Snoopy (Tue 14 June 2016 21:22)

Hors ligne

 

#3 Wed 15 June 2016 08:06

YoLecomte
Participant assidu
Lieu: Epinal
Date d'inscription: 7 Jul 2015
Messages: 266

Re: QGIS 2.14.x: Atlas uniquement pour les entités séléctionnées

Merci pour la réponse rapide, il me manquait le plugin Expression Plus.

Tout roule, bonne journée!

Hors ligne

 

#4 Wed 15 June 2016 08:22

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

Re: QGIS 2.14.x: Atlas uniquement pour les entités séléctionnées

La réponse apportée par snoopy n est pas tout à fait vrai puisque les deux syntaxes sont bonnes normalement.

Hors ligne

 

#5 Wed 15 June 2016 10:18

Snoopy
Participant occasionnel
Lieu: MEUDON
Date d'inscription: 24 May 2007
Messages: 13

Re: QGIS 2.14.x: Atlas uniquement pour les entités séléctionnées

lejedi76 a écrit:

La réponse apportée par snoopy n est pas tout à fait vrai puisque les deux syntaxes sont bonnes normalement.


Perso, le @nomdelacouche ne marche pas sur une version 2.14 (en tout cas sur mon poste)
Et l'aide de l'outil indique :

isselected function

Returns a boolean representing the current selection status of a feature.
Syntax
isselected(layername)
Arguments
layername → a string. Must be the either the layer id or the layer name of the layer on which this feature is located.

Example
isselected('Rivers of Babylon')


Sur gis.stackexchange, il est mentionné dans ce post http://gis.stackexchange.com/questions/ … res-on-map,

QGIS 2.12+:

isselected( @layer_name )
Or QGIS 2.8:

isselected( 'ACTUAL_NAME_OF_LAYER' )


bon, tant que ça marche, peut importe si @ ou pas !

A+

Dernière modification par Snoopy (Wed 15 June 2016 10:19)

Hors ligne

 

#6 Wed 15 June 2016 18:11

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

Re: QGIS 2.14.x: Atlas uniquement pour les entités séléctionnées

Bonsoir,

Je n'ai pas été suffisamment clair.

Code:

isselected(@layer_name)

Doit fonctionner.

Code:

@layer_name

est une variable qui renvoit le nom du layer
Et soit dit en passant

Code:

@layer_id

doit fonctionner aussi.

Hors ligne

 

#7 Wed 15 June 2016 20:37

scottypro
Participant occasionnel
Date d'inscription: 13 Dec 2014
Messages: 14

Re: QGIS 2.14.x: Atlas uniquement pour les entités séléctionnées

Bonsoir,

si j'ai bien compris, tu veux faire un atlas que sur les zones où des entités sont sélectionnées. Je te propose une solution, elle est très simple :

- dans un premier temps, extrais sur une nouvelle couche tes entités sélectionnées

- une fois dans l'atlas du composeur tu n'auras qu'à insert cette dernière dans  dans "couche de couverture"

- et du cocheras "cacher la couche de couverture" ainsi elle n’apparaitra lors de la production de l'atlas

http://hpics.li/f3c8562
[img]http://img11.hostingpics.net/pics/890826Atlas.png[/img]
[img]http://www.hostingpics.net/viewer.php?id=890826Atlas.png[/img]

Désolé, ne sachant pas quelle lien mettre, j'en ai pris 3

Hors ligne

 

#8 Wed 15 June 2016 20:56

Snoopy
Participant occasionnel
Lieu: MEUDON
Date d'inscription: 24 May 2007
Messages: 13

Re: QGIS 2.14.x: Atlas uniquement pour les entités séléctionnées

Re. Effectivement je n'avais pas creusé l'histoire du @layer_name puisque ma proposition fonctionnait.

Mais vu ta remarque lejedi76, j'ai testé avec la variable et ça marche aussi ! En te lisant, je n'avais pas percuter que @layer_name était une variable et donc je ne comprenais pas son utilisation. pourtant le @ aurait dû me mettre sur la piste. Trop gros peut être.
Bref, les deux fonctionnent.

Scottypro, ta proposition marche aussi, mais c'est carrément moins dynamique que isselected(). Tu va générer des couches à chaque fois que tu refais ta sélection ? Pas très pratique.
A+

Hors ligne

 

#9 Wed 15 June 2016 22:29

scottypro
Participant occasionnel
Date d'inscription: 13 Dec 2014
Messages: 14

Re: QGIS 2.14.x: Atlas uniquement pour les entités séléctionnées

Dans mon cas c'était pour un usage unique, j'avais donc fais au plus simple.

Hors ligne

 

#10 Thu 16 June 2016 08:41

YoLecomte
Participant assidu
Lieu: Epinal
Date d'inscription: 7 Jul 2015
Messages: 266

Re: QGIS 2.14.x: Atlas uniquement pour les entités séléctionnées

Dans mon cas l'utilisateur n'est pas sigiste.
Le composeur correspond à une fiche terrain qu'il peut imprimer avant d'aller visiter ses sites. Ce dernier lui sert alors de formulaire de prise de note terrain (carte de localisation, carte zoomée pour positionnement des photos, tableau pour noter les infos,...).
Dans un premier temps, l'opérateur digitalise ses polygones (qui représente des chalets pour le coup) dans une couche unique, il peut remplir les infos qu'il connait déjà.
Ensuite le but est d'imprimer la fiche de terrain pour les chalets qu'il compte aller visiter dans la journée, la semaine,...
Il s'agit donc bien d'éditer l'atlas uniquement pour les chalets qu'il va aller visiter.
Grâce à isselected, il lui suffit simplement de sélectionner ces chalets avant de lancer l'impression, c'était ce dynamisme de l'édition qui était recherché.
De retour au bureau il peut compléter la couche des chalets avec les infos récoltées sur le terrain et lancé l'impression d'un deuxième composeur correspondant à une fiche descriptive du chalet.

Merci à tous pour vos réponse rapide et pertinente!

Hors ligne

 

Pied de page des forums

Powered by FluxBB