Pages: 1 2
- Sujet précédent - QGIS 2.0.1: Liaison d'une étiquette à son point respectif - Sujet suivant
#31 Tue 12 July 2016 15:31
- YoLecomte
- Participant assidu
- Lieu: Epinal
- Date d'inscription: 7 Jul 2015
- Messages: 266
Re: QGIS 2.0.1: Liaison d'une étiquette à son point respectif
C'est en quelque sorte la légende. Elle est renseigné dans le champ étiquette de la règle (on pourrait dire que c'est l'intitulé de la règle).
Ensuite dans Filtre, on choisit a quelle entités on veut appliquer la règle.
En dessous, on retrouve la gestion de la symbologie classique, ici on choisis un générateur de géometrie de type polyligne auquel on passe l'expression make_line blablabla...
C'est plus clair?
Hors ligne
#32 Tue 12 July 2016 15:34
- mathmaroc
- Participant actif
- Date d'inscription: 20 Mar 2013
- Messages: 103
Re: QGIS 2.0.1: Liaison d'une étiquette à son point respectif
Oui merci beaucoup pour votre aide et votre patience.
Mathmaroc
Hors ligne
#33 Tue 12 July 2016 17:03
- YoLecomte
- Participant assidu
- Lieu: Epinal
- Date d'inscription: 7 Jul 2015
- Messages: 266
Re: QGIS 2.0.1: Liaison d'une étiquette à son point respectif
Pas de quoi! Bon courage pour la suite!
Hors ligne
#34 Tue 10 January 2017 10:59
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS 2.0.1: Liaison d'une étiquette à son point respectif
Bonjour,
Je fais suite à cette discussion car je souhaiterais affiner la fonction dans le cas où l'étiquette se situe à l'ouest du ponctuel. Le trait va jusqu'au début de l'étiquette et passe parfois sous l'étiquette. C'est juste une question de style, la fonction précédemment citée marche bien de mon côté.
Je me disais qu'il doit être possible (ou pas encore) de récupérer l'emprise spatiale du texte de l'étiquette (notamment avec la fonction bounds_width) et ensuite de récupérer le dernier vertex de cette géométrie (avec end_point) pour remplacer les coordonnées des étiquettes qui sont à l'ouest des points.
Ce qui donnerait :
Code:
make_line(point_n($geometry,1), end_point(bounds_width("champ_etiquette"))
Malheureusement, le nom du champ n'est pas une géométrie donc ça ne fonctionne pas.
Si quelqu'un a une piste.
Pierre
PS : apparemment une QEP est ouverte à ce sujet : https://github.com/qgis/QGIS-Enhancemen … /issues/73
Dernière modification par Hydrolithe (Tue 10 January 2017 11:04)
Hors ligne
#35 Wed 11 January 2017 10:06
- YoLecomte
- Participant assidu
- Lieu: Epinal
- Date d'inscription: 7 Jul 2015
- Messages: 266
Re: QGIS 2.0.1: Liaison d'une étiquette à son point respectif
Salut,
Sinon une solution pas très élégante pour contourner, tu peux mettre un fond à ton étiquette. La ligne passera en dessous et sera cachée.
Hors ligne
#36 Wed 11 January 2017 10:57
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: QGIS 2.0.1: Liaison d'une étiquette à son point respectif
Merci YoLecomte de ton retour.
Après un échange avec Nyall Dawson au sujet de la QEP #73 et du sujet de ma demande, il semble que ce ne soit pas possible dans Qgis actuellement :
Your request is actually quite complicated. The way QGIS renders layers is that it first draws ALL layers symbols (no labels). Then, it uses the knowledge of which symbols have been rendered and feeds all these features into the label engine which then calculates the placement of individual labels. Ie: first symbols, then labels. Consequently the symbol rendering has no knowledge of the placement of labels for use with symbol expressions or geometry generator symbols.
Unfortunately because this "symbol-first, then labels" design is central to how QGIS rendering works, it would be a HUGE task to change this (ie multiple weeks of developer time). I wish this was as simple as adding a new expression function (which is often only a couple of lines of code!) but in this case it's not a simple task at all.
Pierre
Dernière modification par Hydrolithe (Wed 11 January 2017 10:58)
Hors ligne
#37 Sat 01 July 2017 09:42
- Bartimeus89
- Juste Inscrit !
- Date d'inscription: 30 Jun 2017
- Messages: 1
Re: QGIS 2.0.1: Liaison d'une étiquette à son point respectif
Bonjour,
Je viens souvent sur ce site pour trouver réponse à mes (nombreuses) question de néophyte sur le SIG, merci à tous les contributeurs !
Je relance ce sujet car je rencontre le même problème que la personne précédente : je voudrais afficher des connecteurs entre des points et des étiquettes, sans succès pour l'instant.
Je vous expose mon cas : je travaille sous QGIS 2.14, et j'ai installé l'extension EasyCustomLabeling. Dans la table attributaire de ma couche de points j'ai créé 2 champs X et Y pour les coordonnées des étiquettes. Sur la couche créée via EasyCustom j'ai renseigné ces champs X et Y comme coordonnées dans Emplacement. Jusque là tout va bien, les étiquettes s'affichent et je peux les déplacer.
Vient le problème des connecteurs, j'ai suivi la manip décrite précédemment mais cela ne donne rien : Propriétés de la couche > Style > Symbole unique > Générateur de géométrie > Polyligne/Multi polyligne > make_line(make_point( $x , $y ), make_point( "X" , "Y" ))
Mais aucune ligne n'apparait... Quand je suis dans Propriétés de la couche > Style > Symbole unique > Line, je remarque que la largeur de la ligne est de 0 et que la couleur est en "invisible", mais j'ai beau le modifier toujours pas de ligne... Et quand je descends dans "l'arborescence" du style, Line > Générateur de géométrie > Line, la ligne a bien une épaisseur et une couleur...
Je ne sais pas si je suis très claire, mais si vous avez une idée je suis preneuse, ça fait plusieurs heures que je m'arrache les cheveux, sans résultat
Merci d'avance !
Bartimeus
Hors ligne
#38 Tue 04 July 2017 17:46
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS 2.0.1: Liaison d'une étiquette à son point respectif
Bonsoir,
normalement pour créer une couche de connecteur, l'étape est simple.
1 - Sélectionner la couche qui va servir à générer les étiquettes.
2- Cliquer sur EasyCustom Labelling
3- Sélectionner le champs d'étiquetage
La couche générée est une couche une couche d'étiquette entièrement paramétrée qui est une couche en réalité une couche de connecteur.
Au départ, les connecteurs ne sont pas visibles car l'étiquette est située sur le centroïde de l'objet.
En revanche, si une étiquette est déplacée, le connecteur est visible car une polyligne est créé entre le centroïde de l'objet
et l'emplacement de l'étiquette.
Démo en pj
Dernière modification par lejedi76 (Tue 04 July 2017 17:48)
Hors ligne
#39 Thu 06 July 2017 14:26
- Xavier Julian
- Participant assidu
- Lieu: Orange
- Date d'inscription: 19 Jan 2015
- Messages: 218
Re: QGIS 2.0.1: Liaison d'une étiquette à son point respectif
Merci lejedi76 d'avoir pris le temps de faire une démo en GIF animé !
Très intéressant.
++
Hors ligne
#40 Thu 06 July 2017 14:33
Re: QGIS 2.0.1: Liaison d'une étiquette à son point respectif
Bonjour à tous,
C'est effectivement très bien vu!
Quel sens du service
Hors ligne
Pages: 1 2
- Sujet précédent - QGIS 2.0.1: Liaison d'une étiquette à son point respectif - Sujet suivant