Création de lignes de repère pour les étiquettes déplacées

18

Avec beaucoup d'aide de gis.stackexchange.com, j'ai créé des lignes de repère pour les symboles de point. Les lignes sont basées sur une symbologie de générateur de géométrie:

Raccourcir la géométrie des lignes à l'aide de la boîte de dialogue d'expression dans QGIS?

entrez la description de l'image ici

Maintenant, je veux implémenter des lignes de repère pour les étiquettes déplacées. C'est très important pour moi, que les lignes commencent au centre des étiquettes et se terminent aux coordonnées du point (ou vice versa).

-- Geometry generator:
make_line(
    make_point(label_x, label_y),
    $geometry)

Encore une fois, les lignes sont couvertes par les étiquettes:

entrez la description de l'image ici

entrez la description de l'image ici

Existe-t-il un moyen de traiter les zones d'étiquette et de raccourcir les lignes de repère? Je suppose que c'est une question assez délicate: /

eclipsed_by_the_moon
la source
Essayez de modifier les valeurs de décalage
GISKid

Réponses:

10

Tout d'abord, c'est une solution vraiment soignée! J'ai résolu cela en utilisant une vue de base de données (un peu exagéré, mais cela a fonctionné).

Ma suggestion est d'utiliser un fond et de remplir l'étiquette.

Ou, en regardant ici , vous pourrez peut-être enchaîner une solution de type tampon et clip.

difference(make_line(make_point( "x" ,  "y" ), $geometry), buffer(make_point( "x" ,  "y" ),1))

Je viens de tester ce qui précède, et cela fonctionne (j'ai des domaines différents de vous, mais cela prouve le point). L'utilisation du générateur de géométrie est vraiment flexible, vous pouvez donc avoir la distance tampon d'un champ aussi, en fonction de la symbologie peut-être?

Je ne sais pas ce qui se passe avec le point «trois», mais je suppose que le point d'ancrage est un peu à gauche.

lignes de repère d'étiquette disjointes

Alex Leith
la source
Je dois faire quelques tests dans les prochains jours, mais je crains qu'un arrière-plan ne fonctionne pas pour des projets complexes sans couvrir certaines couches.
eclipsed_by_the_moon
Avez-vous vu l'autre partie de ma réponse? J'ai trouvé quelque chose qui coupera les lignes de repère pour vous @eclipsed_by_the_moon.
Alex Leith
Le découpage des lignes de repère pour les symboles de taille fixe fonctionne correctement, mais les étiquettes posent problème. Je vais essayer de calculer la distance tampon de manière dynamique, dès que je trouverai du temps.
eclipsed_by_the_moon
4

Je travaille actuellement sur une fourchette de plugin d'étiquetage personnalisé facile, pour permettre la création automatique d'étiquettes et de lignes d'en-tête liées.

Jetez un œil à: EasycustomLabaling

Téléchargez-le, décompressez-le et collez le répertoire 'EasyCustomLabeling' dans le répertoire de votre répertoire de plugin QGIS. Rechargez QGIS.

patricev
la source
Votre plugin est vraiment utile, mais je préférerais des lignes créées par un générateur de géométrie qui commencent au centre des étiquettes.
eclipsed_by_the_moon
Je comprends. Pour information, cela peut être défini dans les champs de la couche source lors de l'utilisation de ce plugin (champs LblAlignV et LblAlignH) - Cordialement
patricev
Merci pour l'info, je vais tester ça le week-end.
eclipsed_by_the_moon