Affichage de la direction du système d'eau avec des flèches dans QGIS?

8

Je voudrais placer des flèches de direction à côté de mon système d'eau comme dans OpenTopoMap (voir l'image ci-dessous).

Capture d'écran d'Opentopomap

J'ai déjà regardé le code source mais ils l'ont fait avec Mapnik. Cependant, je travaille sur mes cartes dans QGIS.

Dans QGIS, il y a une ligne de flèches. Je peux le mettre à côté de mon flux, mais ils se collent les uns après les autres. Je voudrais avoir séparé les flèches d'une certaine distance.

Svhooren
la source

Réponses:

7

Vous pouvez obtenir ce résultat avec un style.

Prenez le style de calque de la ligne de flottaison et ajoutez-en un nouveau symbol layer, sélectionnez-le marker lineet affichez-le surcentral point

entrez la description de l'image ici

Sélectionnez le markercalque, sélectionnez le symbole de la flèche (à ce stade, vous pouvez également importer un autre symbole svg si la flèche par défaut ne correspond pas à vos besoins), définissez sa couleur. À côté du rotationparamètre, cliquez sur le data defined overridebouton / editet entrez l'équation suivante, qui calcule l'angle de la ligne au centre de la ligne.

line_interpolate_angle(  $geometry , $length /2)

EDIT grâce au commentaire de @JR, vous pouvez simplement mettre 90 au lieu de calculer l'angle

entrez la description de l'image ici

Enfin, sélectionnez le simple markercalque et mettez un décalage adéquat, peut-être 2 mm

entrez la description de l'image ici

JGH
la source
2
Si vous avez besoin d'un marqueur également espacé, choisissez simplement le bouton radio "avec intervalle" et réglez l'intervalle. De plus, vous n'avez pas besoin de définir la rotation avec une formule, le symbole doit suivre la courbure de votre ligne (si votre flèche est perpendiculaire à votre ligne, réglez la rotation sur 90 ou -90 pour pointer dans la bonne direction). N'oubliez pas non plus de définir un décalage de ligne pour afficher la flèche sur le côté de la ligne.
JR