#1 Thu 19 November 2020 11:52
- aheurion
- Participant actif
- Lieu: NANTES
- Date d'inscription: 8 Oct 2020
- Messages: 143
QGIS 3.16: Etiquettes longueur segments polyligne
Bonjour, et merci d'avance pour votre aide !
Je cherche à afficher une étiquette sur une polyligne qui indiquerait la longueur de chacun de ses segments ; et bien sûr afficher autant d'étiquettes que de segments.
Quelqu'un a une idée de comment faire ça ?
----------------------------------------------------------------------------------------------------------------------------------------------------------------
[EDIT 1] : J'ai tenté en créant 9 étiquettes distinctes (je suppose que je n'aurais pas de polylignes de plus de 9 segments) avec comme valeur :
if(
num_geometries(segments_to_lines($geometry))<X,
null,
length(
geometry_n(
segments_to_lines($geometry),
X
)
)
)
avec X le numéro du segment
Et dans "Label Anchoring" j'ai mis une expression du type :
(
length(geometry_n(segments_to_lines($geometry),1))+
length(geometry_n(segments_to_lines($geometry),2))*0.5
)
/length($geometry)
(ici pour le segment 2; je mets la somme des longueurs des segments précédents + la moitié de la longueur du segment en cours pour que l'étiquette soit au milieu)
Problème : l'anchoring fonctionne en valeur relative et pas absolue (mon expression permet d'avoir un pourcentage [0.0-1.0] de la longueur courante/visible sur l'écran de la polyligne...
----------------------------------------------------------------------------------------------------------------------------------------------------------------
[EDIT 2] :
Peut-être en passant par une couche virtuelle ? Mais je ne vois pas comment utiliser la fonction "segments_to_lines" dans une requête SQL...
Dernière modification par aheurion (Thu 19 November 2020 15:57)
Hors ligne