Comment connecter l'étiquette et le point avec une ligne / flèche?


12

Est-il possible dans QGIS de connecter des étiquettes et des points avec une ligne / flèche ou quelque chose? Dans ma carte, il n'est pas clair quelle étiquette va avec son point. Je ne peux pas le rapprocher car il y a beaucoup plus de points à venir.entrez la description de l'image ici


La solution xof fonctionne pour moi. Mais j'aimerais savoir s'il est possible d'avoir une courte légende dans ma liste de formes ... pas comme cet exemple ci-dessous, avec déjà une petite étiquette ... ! [Mon test ] ( i.stack.imgur.com/8VWoN .png ) Merci!
MathieuG

Réponses:


7
  • Créez d'abord des champs d'étiquetage pour la position X et Y de vos étiquettes dans votre table de points.

  • Activez le positionnement X et Y dans les propriétés de votre calque.

passer outre

  • Créez un nouveau style "Expression de générateur" dans votre style de point, définissez-le sur le type de ligne, puis utilisez les formules suivantes:

    make_line (make_point ($ x, $ y), make_point ("LABEL_X", "LABEL_Y"))

Comme amélioration, vous pouvez utiliser différents champs (ou utiliser un plugin pour les créer tous) pour contrôler où sera le point d'alignement. Vous pouvez utiliser un champ de rotation et un champ d'alignement vertical et horizontal.

coiffant

La ligne se déplacera en conséquence à votre position d'étiquette, car son point d'arrivée est lié au champ de position d'étiquette.


5

Vous pouvez essayer de télécharger et d'installer le plugin EasyCustomLabeling depuis Plugins > Gérer et installer les plugins , cela crée une couche de mémoire dupliquée de votre couche vectorielle sélectionnée et contient les mêmes attributs.

( Notez que vous devrez également télécharger et installer le plugin Memory Layer Saver pour enregistrer correctement la couche mémoire, cela est décrit dans la description du plugin ).

Une fois votre calque d'étiquette créé, vous pouvez jouer avec le placement et le style d'étiquette de ce calque pour essayer d'obtenir ce que vous recherchez:

Brancher

Paramètres de calque d'étiquette

Couche d'étiquette

J'espère que cela t'aides!


merci @ Joseph. Est-il exact que je ne peux choisir qu'un seul attribut avec ce plugin? (btw: cela devrait-il aussi être une nouvelle question?)
kevkev

Nah! Pas si c'est une simple question oui / non =). Mais vous avez raison, un seul attribut par couche, vous pouvez donc créer plusieurs couches d'étiquettes si vous le souhaitez.
Joseph

En fait, c'est possible. Après avoir créé la couche d'étiquette, il est possible de modifier les attributs à cet
endroit

@KevinSuhr - Brillant! Merci, j'ai appris quelque chose =)
Joseph

1
Du message de @underdark; Un cas d'utilisation courant est le souhait d'afficher plusieurs valeurs d'attribut dans l'étiquette d'une entité. À l'aide de Field Calculator, vous pouvez les combiner en étiquettes multi-lignes. Il vous suffit de combiner les champs avec le || et ajoutez '\ n' (nouvelle ligne) partout où il devrait y avoir un saut de ligne: Field1 || '\ n' || Field2
Lee

4

Concernant la méthode par gisinside: la première étape de l'ajout manuel d'attributs x / y pour les labels peut être omise; (peut-être depuis QGIS3?) il y a déjà une variable auxiliaire pour les positionnements d'étiquette. Les variables sont appelées en conséquence: "AUXILIAIRE_STOCKAGE_LABELING_POSITIONX" et "AUXILIAIRE_STOCKAGE_LABELING_POSITION".

Donc à l'étape Nr. 2 vous pouvez utiliser cette expression pour tracer des lignes:

make_line (make_point ($ x, $ y), make_point ("AUXILIAIRE_STOCKAGE_LABELING_POSITIONX", "AUXILIAIRE_STOCKAGE_LABELING_POSITION"))

Notez cependant que les variables auxiliaires ne reçoivent une valeur que si vous touchez / déplacez les étiquettes avec l'outil move-label-tool. Par conséquent, vous ne voyez que les lignes des étiquettes qui ont été déplacées manuellement.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.