Pages: 1
- Sujet précédent - QGIS 2.6 : Atlas : baser l'identifiant des entités sur un champ - Sujet suivant
#1 Thu 16 April 2015 15:33
- Didou
- Juste Inscrit !
- Date d'inscription: 27 Jan 2010
- Messages: 2
QGIS 2.6 : Atlas : baser l'identifiant des entités sur un champ
Bonjour,
J'ai une couche de points dont la table attributaire contient un champ AnnéeSemaine de type 201510. Dans l'atlas, je voudrais n'afficher que les points qui correspondent à ce champ. Je cherche donc comment baser l'identifiant des entités (le fameux featureid) sur les différentes valeurs de ce champ. Est ce possible ? je commence à en douter d'où ce message après pas mal de recherche sur les forums.
Peut être devrais je recréer une couche avec seulement un polygone par AnnéesSemaine et m'en servir comme couche de base de mon atlas, mais je ne sais pas non plus comment créer cette couche.
Vous remerciant par avance
Didou
Hors ligne
#2 Thu 16 April 2015 17:47
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS 2.6 : Atlas : baser l'identifiant des entités sur un champ
Bonjour,
Pour être sûr de bien comprendre, supposons que dans votre couche, vous ayez :
- 10 entités en date de 201510
- 7 entités en date de 201509
vous souhaitez faire:
- une carte pour chaque semaine (donc 2 en tout) où on voit toutes les entités de cette date? Seulement ces entités?
- une série de cartes pour seulement la semaine 201510, zoomée sur chaque entité de cette semaine? (soit 10 cartes)
- ou autre chose?
Hors ligne
#3 Fri 17 April 2015 10:15
Re: QGIS 2.6 : Atlas : baser l'identifiant des entités sur un champ
Bonjour,
Je vais répondre à ce besoin:
J'ai une couche de points qui ont plusieurs dates dans un attribut. Pour chaque date, je veux centrer le rendu sur ces points et n'afficher qu'eux.
Au pire ça aidera d'autres personnes.
Il vous faut donc une couche "d'emprise" (couche de couverture pour QGIS je crois) où pour chaque date vous aurez une seule ligne avec comme attribut la date (qui va nous servir après).
Pour cela, on peut passer par la création d'une enveloppes convexes dans le menu de géotraitement (en utilisant le champ date).
Cette couche va nous servir comme couche de couverture, elle va permettre de centrer et zoomer sur l'emprise qui nous intéresse.
Pour n'afficher que les points de la date du jour, il faut nous rendre dans le style de cette couche.
Puis ensemble de règles. Ici on ajoute une règle et dans le champ filtre:
attribute($atlasfeature, 'champ_date_couche_couverture' )="champs_date_de_cette_couche_de_point"
(en fait c'est une espèce de jointure avec la valeur courante de la couche de couverture et la couche ou on met le style)
Et voilà, on décoche l'autre style (no filter) et ça devrait fonctionner. D’ailleurs, pour tester il faut démarrer l'aperçu de l’atlas dans le composeur d'impression. On pensera aussi à cocher "cacher la couche de couverture" pour ne pas afficher les polygones de couverture.
Allez, dernière petite astuce: Vous voulez adapter le format (paysage ou portrait) automatiquement?
Il suffit de créer un colonne "ratio" (en flottant) dans votre couche de couverture et de mettre la formule :
(xmax( $geometry ) - xmin( $geometry ) ) / (ymax( $geometry ) - ymin( $geometry ) )
En dessous de 1 c'est vertical, 1 carré et plus de 1 c'est horizontal.
Maintenant, dans votre composeur paysage, dans génération atlas/ filtre, on entre "ratio" >= 1, et pour celui du portrait : "ratio" < 1
Hors ligne
#4 Fri 17 April 2015 11:30
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3940
Re: QGIS 2.6 : Atlas : baser l'identifiant des entités sur un champ
lut
Allez, dernière petite astuce: Vous voulez adapter le format (paysage ou portrait) automatiquement?
Oui mais il faudrait ensuite pouvoir recalibrer la taille de l'objet carte, le positionnement des titres, légendes et autres , les uns par rapport aux autres... Sinon, à mon avis, ça risque de ne pas bien rendre.
La doc officielle aborde la question (dans la partie atlas > valeurs définies...) tout en renvoyant à cet excellent (à mes yeux) exemple
Hors ligne
#5 Fri 17 April 2015 11:42
Re: QGIS 2.6 : Atlas : baser l'identifiant des entités sur un champ
lut
Allez, dernière petite astuce: Vous voulez adapter le format (paysage ou portrait) automatiquement?
Oui mais il faudrait ensuite pouvoir recalibrer la taille de l'objet carte, le positionnement des titres, légendes et autres , les uns par rapport aux autres... Sinon, à mon avis, ça risque de ne pas bien rendre.
La doc officielle aborde la question (dans la partie atlas > valeurs définies...) tout en renvoyant à cet excellent (à mes yeux) exemple
Ha oui d'accord, je n'avais pas penser à faire ça comme ça.
En fait je créais simplement 2 composeurs différents avec un filtre sur le ratio. L'un générait les cartes en portrait, l'autre en paysage. Mais si on modifie quelque chose dans l'un, il faut aussi le faire dans l'autre.
Sinon très bon article qui permet également de réviser son espagnol!
Hors ligne
Pages: 1
- Sujet précédent - QGIS 2.6 : Atlas : baser l'identifiant des entités sur un champ - Sujet suivant