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

Rencontres QGIS 2025

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

#1 Fri 10 April 2015 10:28

maureen albouy
Participant occasionnel
Date d'inscription: 28 Jan 2015
Messages: 33

QGIS 2.2.0 : Etiquettage sur un Atlas

Bonjour,

Je souhaite réaliser un Atlas avec les départements de ma région. Pour une question de lisibilité je souhaite afficher le nom des communes comprise uniquement sur le département représenté.
J'ai essayé ceci : Case when $id<>$atlasfeatureid then "NOM_COMM" END (formule trouvé sur Internet) mais cela ne fonctionne pas.

Comment faire ?

Merci

Hors ligne

 

#2 Fri 10 April 2015 10:56

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3940

Re: QGIS 2.2.0 : Etiquettage sur un Atlas

Bonjour,
QGIS 2.2, ça commence à dater donc je ne sais pas si mes solutions vont être adaptées. Beaucoup de choses ont évolué depuis, notamment sur l'atlas et sur les fonctions de relations entre couches donc...
Le code que vous utilisez va étiqueter les communes (en fait, il n'y en aura au max qu'une qui y échappera) dont le numéro d'identification (je pense que c'est l'ordre de rangement dans la table attributaire, pas trop sûr) est différent du numéro d'identification du département en cours d'atlas.

Je souhaite réaliser un Atlas avec les départements de ma région


J'en déduis donc que la couche "departement" est la couche de couverture.
Supposons que vous ayez:
- couche "departement" : code_dep, nom_dep
- couche "commune" : code_dep, code_insee, nom_commune

Dans l'onglet étiquetage de la couche "commune", la formule:
- avec une requête spatiale

Code:

case when within($geometry, $atlasgeometry) then "nom_commune" END

ou

Code:

case when within($geometry, buffer($atlasgeometry, 50)) then "nom_commune" END

des fois qu'il y aurait des problèmes de topologie entre couches (on ne sait jamais). Je pense qu'elle doit consommer de la mémoire pour ces tests mais il me semble que toutes ces fonctions existaient déjà.
- avec une requête attributaire mais attribute est une fonction apparue avec la 2.6, de mémoire.

Code:

case when "code_dep" = attribute ($atlasfeature,'code_dep') then "nom_commune" END

ou s'il n'y a pas le champ code_dep dans la couche "commune"

Code:

case when left("code_insee",2) = attribute ($atlasfeature, 'code_dep') then "nom_commune" END

Je crois avoir lu que le plugin Mask gérait quelque chose du genre mais est-ce que ces fonctionnalités sont tributaires de la version de QGIS? Je vous laisse tester.
Quoi qu'il en soit, je ne peux que vous inviter à faire évoluer votre version de QGIS et ce, d'autant que la 2.8 va être maintenue pendant un an... sans parler de toutes les évolutions qu'il y a eu cette année et dont vous ne bénéficiez pas.

Dernière modification par SANTANNA (Fri 10 April 2015 11:35)

Hors ligne

 

#3 Fri 10 April 2015 11:24

maureen albouy
Participant occasionnel
Date d'inscription: 28 Jan 2015
Messages: 33

Re: QGIS 2.2.0 : Etiquettage sur un Atlas

Oui je sais bien qu'il y a beaucoup plus récent, et ça ne tiendrais qu'à moi je travaillerais sur la dernière version. Mais il faut faire  avec les moyens du bord ^^

En revanche, à moins que j'ai mal compris je crois que votre message n'est pas terminé

Hors ligne

 

Pied de page des forums

Powered by FluxBB