Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 11 January 2021 14:26

p.jeremie
Participant assidu
Lieu: Valence
Date d'inscription: 10 Sep 2017
Messages: 427

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
Participant occasionnel
Date d'inscription: 8 Sep 2013
Messages: 49

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
Participant assidu
Lieu: Valence
Date d'inscription: 10 Sep 2017
Messages: 427

Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep

Olivier Pompier a écrit:

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
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 726

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
Participant assidu
Lieu: Valence
Date d'inscription: 10 Sep 2017
Messages: 427

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
Participant assidu
Lieu: Valence
Date d'inscription: 10 Sep 2017
Messages: 427

Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep

JD a écrit:

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
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 726

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

PA
Membre
Lieu: Paris
Date d'inscription: 5 Sep 2005
Messages: 3259
Site web

Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep

p.jeremie a écrit:

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
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !

Hors ligne

 

#9 Fri 19 February 2021 10:17

p.jeremie
Participant assidu
Lieu: Valence
Date d'inscription: 10 Sep 2017
Messages: 427

Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep

Bonjour,

J'avais écris sur la liste qgis-user et non qgis-fr-user donc pas de redirection sur GeoRezo smile

J'ai pu avoir la solution à mon problème via une réponse de Nyall Dawson.
Il suffit de décocher l'option "Découper les entités selon l'emprise", ainsi les lignes sont prises en compte dans leur ensemble pour le calcul des distances.
L'option se trouve au niveau des paramètres de symbologie de la couche. Après avoir cliqué sur la première ligne ("Ligne", celle qui résume les différents niveaux de symbologie paramétrés), il faut cliquer sur Avancé tout en bas puis décocher l'option.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#10 Fri 19 February 2021 10:20

p.jeremie
Participant assidu
Lieu: Valence
Date d'inscription: 10 Sep 2017
Messages: 427

Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep

JD a écrit:

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)))
)
)


Merci pour ce code, j'avais commencé à le tester mais du coup ça devient inutile pour ce cas d'usage, avec la connaissance de l'option de mon message précédent.
Intéressant tout de même pour commencer à jour avec la génération de géométries.

Hors ligne

 

#11 Fri 19 February 2021 11:09

p.jeremie
Participant assidu
Lieu: Valence
Date d'inscription: 10 Sep 2017
Messages: 427

Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep

p.jeremie a écrit:

Bonjour,

J'avais écris sur la liste qgis-user et non qgis-fr-user donc pas de redirection sur GeoRezo smile

J'ai pu avoir la solution à mon problème via une réponse de Nyall Dawson.
Il suffit de décocher l'option "Découper les entités selon l'emprise", ainsi les lignes sont prises en compte dans leur ensemble pour le calcul des distances.
L'option se trouve au niveau des paramètres de symbologie de la couche. Après avoir cliqué sur la première ligne ("Ligne", celle qui résume les différents niveaux de symbologie paramétrés), il faut cliquer sur Avancé tout en bas puis décocher l'option.


Fausse joie... sad

C'est ok en zoomant vers une plus grande échelle, les points ne se "déplacent" plus. Mais en dézoomant, j'ai toujours des décalages.
Voir https://www.zupimages.net/viewer.php?id=21/07/ehlo.gif

J'ai redemandé sur la liste et j'ai la solution : il ne faut pas que la simplification des entités soit activée, sinon la distance est calculée sur la base de l'entité simplifiée et du coup elle est forcément différentes par moment.

L'option se trouve dans les propriétés de la couche > Rendu > case à cocher "Simplifier la géométrie".

A savoir également : c'est une option activée par défaut mais il est possible de paramétrer si elle s'active pour les couches nouvellement ajoutées ou non. Pour ça il faut aller dans les Options de QGIS.
Menu Préférences > Options > Rendu > case à cocher "Activer la simplification des entités par défaut lors de l'ajout de nouvelles couches".

Dernière modification par p.jeremie (Fri 19 February 2021 13:47)

Hors ligne

 

#12 Sat 20 February 2021 11:25

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 726

Re: QGIS: Ligne de symboles qui bougent selon l'echelle/dep

@p.jeremie

Un grand merci pour le retour et ces précieux détails smile

Hors ligne

 

Pied de page des forums

Powered by FluxBB