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.
12
Réponses:
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.
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.
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.
la source
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:
J'espère que cela t'aides!
la source
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.
la source
Si vous utilisez PostGIS pour vos données spatiales, ce message https://sigsemgrilhetas.wordpress.com/2015/01/12/etiquetas-com-guias-em-qgis-e-postgis-labels-leading-lines-with- qgis-and-postgis / par Alexandre Neto explique comment ajouter des lignes de tête aux points de votre base de données.
C'est un tutoriel bien écrit qui mérite d'être lu, il a également un film dans le post qui montre comment cela fonctionne.
J'espère que cela t'aides.
la source