#1 Mon 22 June 2015 09:42
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1024
QGIS 2.8 : Gestion des étiquettes
Bonjour à tous !
Deuxième message de la journée, le lundi matin commence bien ! :-)
Je voulais avoir votre avis sur votre manière de gérer l'étiquetage dans Qgis car ma façon de faire me convainc que moyennement. J'ai besoin d'étiqueter mes couches pour réaliser des illustrations via le composeur. Je dois donc figer mes étiquettes. Pour cela, j'utilise la barre d'étiquetage et les extensions EasyCustomLabeling et layer to Labeled layer. Je ne gère pas mes étiquettes sur mes couches source. Je les gère soit sur des copies de couche soit sur les couches générées automatiquement pas ces extensions ce qui m'évite de "polluer" mes couches sources avec les champs d'étiquetage dans la table attributaire (les couches sources étant archivées).
Ensuite, je génère autant de couches d'étiquetage qu'il y a de couches "sources" (couche A, couche B, couche C, ...) et qu'il y a d'échelle de sortie d'illustration (coucheA_250, coucheA_500, coucheA_1000, ..., coucheB_250, coucheB_500, coucheB_1000, ..., coucheC_250, coucheC_500, coucheC_1000, ...). Je peux donc vite arriver à plusieurs dizaines de couches avec cette logique (mais finalement dans la pratique, j'en ai une dizaine).
Vous me direz que je pourrais gérer mes échelles d'affichage par couche en renvoyant aux champs d'affichage de la table attributaire (échelle mini, échelle maxi) et je n'aurais plus que CoucheA, CoucheB et coucheC (et c'est bien mon objectif, d'où mon message !) mais ce n'est pas si évident !
Car, comment gérer mes étiquettes d'une même couche qui s'affichent dans plusieurs illustrations en sortie et bien sûr à plusieurs échelles différentes ! J'ai bien testé de copier, coller les étiquettes concernées, dans la couche et de paramétrer ensuite les champs d'affichage dans ma table attributaire mais il faut également changer l'emplacement de l'étiquette en fonction de son échelle que je paramètre pour le coup dans le volet étiquetage des propriétés de la couche d'étiquetage. Seulement, je n'ai pas trouver le moyen de gérer de manière automatique ses emplacements (à l'échelle 250, décalage par rapport à l'objet de 2m ; à l'échelle de 500, décalage par rapport à l'objet de 4m)...
Enfin, le fait de devoir copier coller mes entités dont l'étiquette apparaît à différents échelles, n'est pas des plus pratiques !
Comme toujours....
Si vous avez des idées, des solutions....
Merci d'avance !
Gladal
Hors ligne
#2 Mon 22 June 2015 12:07
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3884
Re: QGIS 2.8 : Gestion des étiquettes
Re,
Jamais testé toutes ces options mais je pense que tu vas en bouffer des "variables définies par des valeurs" avec du CASE WHEN. Vu que cette option est quasiment disponible partout, ce que tu veux faire devrait être possible avec la 2.8. Prends un bon bol d'air, pose-toi et pose-toi la question de qu'est-ce qui distingue une couche de l'autre, quelle est la différence entre coucheA_250 et coucheA_500...
Avec la 2.8 (peut-être la 2.6 déjà?), il y aune fonction $scale qui renvoie l'échelle. A utiliser avec précaution dit la doc, mais bon...
Une formule comme
Code:
case when $scale >1000 then "insee" ELSE "libelle"END
dans le champ de sélection du champ à libeller me renvoie les codes insee pour certaines échelles et le nom de la commune à d'autres.
Et puis, avec la 2.8, tu as le multi style dans une seule couche, style que tu peux bloquer dans une carte de composeur, donc, il y a moyen d'alléger ta liste de couches...
Hors ligne
#3 Mon 22 June 2015 15:18
- GlaDal
- Participant assidu
- Date d'inscription: 30 Aug 2013
- Messages: 1024
Re: QGIS 2.8 : Gestion des étiquettes
Allez, c'est parti ! J'inspire, j'expire et je plonge au coeur de mes étiquettes pour trouver LA solution !
Je reviens après un bon bol d'oxygène !
Merci SANTANNA, je me lance dans cette voie.
A plus tard,
GLADAL
Hors ligne