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 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: 3945

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

Dof
Participant assidu
Lieu: Grenoble
Date d'inscription: 28 Oct 2009
Messages: 317
Site web

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: 3945

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

Dof
Participant assidu
Lieu: Grenoble
Date d'inscription: 28 Oct 2009
Messages: 317
Site web

Re: QGIS 2.6 : Atlas : baser l'identifiant des entités sur un champ

SANTANNA a écrit:

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! wink

Hors ligne

 

Pied de page des forums

Powered by FluxBB