Annonce

#1 Mon 11 January 2021 14:26
- p.jeremie
- Membre
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 85
QGIS: Ligne de symboles qui bougent selon l'echelle/dep
Bonjour,
Avec QGIS 3.10.
J'ai voulu utiliser uniquement la symbologie pour afficher un trait tous les km le long d'une route.
Le SCR du projet est le Lambert 93 (2154).
En ajoutant une "ligne de symboles" avec un intervalle de 1000 Unités de carte (ou mètre à l'échelle, qui donne le même résultat pour mon cas), j'arrive à afficher des symboles tous les km.
Le problème c'est que lorsque je déplace la carte ou change d'échelle, les symboles bougent.
Il y a quelque chose que j'ai loupé ?
Pour vous représenter le problème, ci-joint un gif qui le met en évidence.
Les ronds correspondent aux symboles affichés via la symbologie.
Les traits correspondent à des ponctuels générés avec la fonction "Points le long d'une géométrie" de la boite à outils.
On constate que les ronds ne sont pas toujours au même endroit que les traits, quand je bouge...
GIF : https://zupimages.net/viewer.php?id=21/02/nvr2.gif
Dernière modification par p.jeremie (Tue 12 January 2021 13:45)
Hors ligne
#2 Tue 12 January 2021 09:39
- Olivier Pompier
- Membre
- Date d'inscription: 8 Sep 2013
- Messages: 35
Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep
Bonjour,
Avez vous essayé l'outil Convert lines to points de la boîte à outils Saga pour contourner ce problème ?
Hors ligne
#3 Tue 12 January 2021 13:47
- p.jeremie
- Membre
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 85
Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep
Bonjour,
Avez vous essayé l'outil Convert lines to points de la boîte à outils Saga pour contourner ce problème ?
Bonjour,
Merci pour la proposition.
J'ai déjà utilisé l'outil Points le long d'un géométrie pour obtenir le résultat souhaité, mais j'aimerais bien comprendre pourquoi avec la symbologie le comportement n'est pas celui atendu.
Hors ligne
#4 Tue 12 January 2021 16:03
- JD
- Membre du bureau
- Date d'inscription: 8 Aug 2013
- Messages: 552
Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep
Bonjour,
je ne pense pas que cela soit lié à un bug. Il n'y a pas de possibilité de fixer le point de départ sur le premier nœud avec les interdistances.
Peut-être une évolution à demander du style "commencer sur le premier noeud"...
Sinon sans passer par le plugin vous pouvez quand même faire cela en utilisant le générateur de géométrie (en choisissant point/multipoint) et entrant cette formule :
Code:
with_variable( 'step', --longeur que vous souhaitez 1000m ici 1000, with_variable( 'nb_step', length($geometry) // @step, collect_geometries( array_foreach( generate_series(0,@nb_step), line_interpolate_point(line_merge($geometry),@element*@step))) ) )
Hors ligne
#5 Tue 12 January 2021 21:34
- p.jeremie
- Membre
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 85
Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep
Merci pour cette information, j'étais persuadé que c'était toujours le premier point de la ligne qui servait de référence, même s'il n'est pas à l'écran. Ca ne serait donc pas le cas…
Merci pour le code générateur de géométrie, je n'ai pas testé encore mais je garde ça sous le coude pour le faire.
J'ai envoyé un message sur la liste qgis-user d'osgeo.org pour avoir des avis à ce sujet.
A suivre…
Hors ligne
#6 Mon 18 January 2021 14:36
- p.jeremie
- Membre
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 85
Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep
Sinon sans passer par le plugin vous pouvez quand même faire cela en utilisant le générateur de géométrie (en choisissant point/multipoint) et entrant cette formule :
Code:
with_variable( 'step', --longeur que vous souhaitez 1000m ici 1000, with_variable( 'nb_step', length($geometry) // @step, collect_geometries( array_foreach( generate_series(0,@nb_step), line_interpolate_point(line_merge($geometry),@element*@step))) ) )
Bonjour,
J'ai essayé via la génération de géométries, ça fonctionne bien pour générer les points et affecter un symbole. Cependant je n'arrive pas à tourner le symbole en fonction de l'orientation de la route (pour avoir le trait toujours à la perpendiculaire de la route par exemple).
Une fois le générateur de géométrie activé, le champ Rotation du symbole ne semble plus avoir d'effet.
Mince, je pensais m'en sortir "simplement" en dupliquant la formule et en passant par line_interpolate_angle mais c'est raté.
Une idée comment faire ?
Hors ligne
#7 Mon 18 January 2021 17:46
- JD
- Membre du bureau
- Date d'inscription: 8 Aug 2013
- Messages: 552
Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep
Bonjour,
effectivement !
En générant plutôt une couche de polyligne avec un tout petit intervalle et passant ensuite par une couche de symbole il devrait pouvoir accès à l'angle de votre ligne :
Code:
with_variable( 'step', --longeur que vous souhaitez 1000m ici 1000, with_variable( 'nb_step', length($geometry) // @step, collect_geometries( array_foreach( generate_series(0,@nb_step), line_substring(line_merge($geometry),@element*@step,@element*@step+0.000001))) ) )
Hors ligne
#8 Mon 18 January 2021 17:53
Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep
J'ai envoyé un message sur la liste qgis-user d'osgeo.org pour avoir des avis à ce sujet.
Bonjour,
Vous risquez d'être renvoyé ici car la liste se veut ouverte pour toutes les questions concernant le fonctionnement du groupe QGIS-fr.
L'entraide technique c'est plutôt ici mais vous aurez peut-être des pistes intéressantes tout de même.
Pierre-André Le Ny - Président de l'association,
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !
Hors ligne