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é ?

#1 Sun 22 March 2026 00:11

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

QGIS: Utilisation du symbole "Deplacement de point"

Bonsoir, je cherche à afficher plusieurs points situés exactement à la même coordonnée, à l'aide d'un symbole de type "Déplacement de point".

Donc je crée une couche en mémoire avec la géométrie 'Point', j'y ajoute plusieurs points avec l'outil "Ajouter une entité ponctuelle", en faisant bien attention à en placer plusieurs exactement au même endroit.


Ensuite j'affiche les propriétés de la couche, section "Symbologie" :
  - je choisis dans la liste le type de symbole "Déplacement de point" ;
  - je choisis un symbole simple pour le centre ;
  - pour le Moteur de rendu, je choisis "Symbole unique" dans la liste ;
  - je clique sur le bouton "Paramètres du moteur de rendu" ;
  - dans la fenêtre qui s'ouvre, à la place de "Symbole simple", je choisis un symbole de type "Générateur de géométrie" ;
  - puis comme symbole du générateur, je choisis un symbole SVG, et je sélectionne une des images proposées ;
  - je laisse tout le reste par défaut ;
  - pour la méthode de placement, je prends "Anneaux concentriques" ;

Je valide tout, et voici ce que je vois :
  - les points qui sont tout seuls ont bien comme symbole le symbole SVG ;
  - les points qui sont empilés n'apparaissent pas sur l'anneau comme ils le devraient : le symbole central apparait, l'anneau apparait, mais c'est tout.


Quelqu'un aurait-il une petite idée svp ?

Merci

Hors ligne

 

#2 Sun 22 March 2026 11:30

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

Re: QGIS: Utilisation du symbole "Deplacement de point"

Bonjour. Je n'ai pas compris pourquoi tu utilises le générateur de géométrie.
le symbole simple doit suffire à sélectionner ton svg.

Il faut creuser de ce côté à mon avis.

Hors ligne

 

#3 Sun 22 March 2026 15:15

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

Bonjour j'ai dit ca pour simplifier mon post, mais mon besoin est bien d'utiliser un symbole générateur de géométries, inclus dans un symbole "Déplacement de point".
Vu que l'IHM de QGIS permet de le faire, ca devrait marcher, non ?

Sinon en effet avec un symbole simple de type SVG, inclus dans le symbole "Déplacement de point", ca fonctionne, mais ca n'est pas ce dont j'ai besoin.

Hors ligne

 

#4 Sun 22 March 2026 15:43

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

Re: QGIS: Utilisation du symbole "Deplacement de point"

Ok du coup le souci doit bien venir du générateur de géométrie.
On peut avoir plus de détail sur ce qu'il fait ? Quel but est recherché pour ce générateur de géométrie ?

Hors ligne

 

#5 Sun 22 March 2026 17:06

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

l'expression est :

Code:

make_polygon(
    make_line(
        array_foreach(
            generate_series(0, 360, 10),
            project($geometry, 10, radians(@element))
        )
    )
)

C'est un exemple, si quelqu'un arrive déjà à faire fonctionner avec ça, je suis preneur, il y aura une bonne chance pour que ça fonctionne avec les autres expressions ...

Merci

Hors ligne

 

#6 Sun 22 March 2026 21:15

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

Re: QGIS: Utilisation du symbole "Deplacement de point"

Ça ne me semble pas illogique le résultat que QGIS affiche.
Dans l'expression du générateur de géométrie, le $geometry fait référence à la géométrie du point, et pas du point déplacé par le déplacement du point.
Donc tous les points empilés donnent la même géométrie résultante.

C'est quoi le but recherché ? Voir si ça peut se faire autrement qu'avec le déplacement de points.

Hors ligne

 

#7 Sun 22 March 2026 21:32

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

le but recherché c'est celui du symbole "Déplacement de point", à savoir : identifier visuellement sur la carte lorsque plusieurs points de la couche sont situés au même endroit.

Quel que soit le symbole de base du point : un svg, un symbole intégré, une expression, le fonctionnement devrait être le même à savoir : au lieu d'être empilés le symbole de chaque point superposé devrait être affiché sur l'anneau concentrique.
Enfin il me semble, sinon je ne vois pas à quoi ca sert d'avoir développé tout ca ...

Hors ligne

 

#8 Sun 22 March 2026 21:46

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

et puis justement $geometry contient la géométrie du point, soit, mais pourquoi RIEN ne s'affiche sur l'anneau ?
au pire qu'il m'affiche la géométrie d'origine, mais pas rien
sinon, l'anneau, lui, s'affiche, la modification de sa taille, de sa couleur, ca ca fonctionne
mais dès qu'on met un symbole "générateur de géométrie" dans les paramètres du rendu, c'est mort

Hors ligne

 

#9 Sun 22 March 2026 22:27

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

Re: QGIS: Utilisation du symbole "Deplacement de point"

De mon côté ça fonctionne correctement, il n'y a pas rien sur l'anneau.
En fait ton code crée un cercle de rayon 10 unités.
Il est sûrement plus petit que le point du centre du déplacement de point et du coup tu ne le verras qu'en zoomant.

En essayant d'agrandir le rayon tu devrais mieux voir le résultat :

Code:

make_polygon(
    make_line(
        array_foreach(
            generate_series(0, 360, 10),
            project($geometry, 20000, radians(@element))
        )
    )
)

Hors ligne

 

#10 Sun 22 March 2026 22:30

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

je suis en qgis 3.40 au fait

Hors ligne

 

#11 Sun 22 March 2026 22:34

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

Re: QGIS: Utilisation du symbole "Deplacement de point"

Christophe_B a écrit:

Quel que soit le symbole de base du point : un svg, un symbole intégré, une expression, le fonctionnement devrait être le même à savoir : au lieu d'être empilés le symbole de chaque point superposé devrait être affiché sur l'anneau concentrique.
Enfin il me semble, sinon je ne vois pas à quoi ca sert d'avoir développé tout ca ...


C'est discutable, étant donné que le générateur de géométrie se base sur la géométrie de base de l'entité et non la géométrie du déplacement de point.
A quoi ça sert d'avoir développé ça ? Ça fonctionne quand même plutôt bien pour les autres types de symbole !
Si tu veux faire remonter le fait qu'avec le générateur de géométrie ça ne fonctionne pas comme tu attends, tu peux le faire sur https://github.com/qgis/QGIS/issues

Hors ligne

 

#12 Sun 22 March 2026 22:37

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

oui je connais ce lien github, en général jamais de réponse

Hors ligne

 

#13 Sun 22 March 2026 22:43

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

p.jeremie a écrit:

De mon côté ça fonctionne correctement, il n'y a pas rien sur l'anneau.
En fait ton code crée un cercle de rayon 10 unités.
Il est sûrement plus petit que le point du centre du déplacement de point et du coup tu ne le verras qu'en zoomant.

En essayant d'agrandir le rayon tu devrais mieux voir le résultat :

Code:

make_polygon(
    make_line(
        array_foreach(
            generate_series(0, 360, 10),
            project($geometry, 20000, radians(@element))
        )
    )
)


chez toi ca fonctionne avec le générateur de géométries ? peux-tu partager une copie d'écran ? quelle version de QGIS ?

Hors ligne

 

#14 Sun 22 March 2026 22:49

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

Re: QGIS: Utilisation du symbole "Deplacement de point"

Christophe_B a écrit:
p.jeremie a écrit:

De mon côté ça fonctionne correctement, il n'y a pas rien sur l'anneau.
En fait ton code crée un cercle de rayon 10 unités.
Il est sûrement plus petit que le point du centre du déplacement de point et du coup tu ne le verras qu'en zoomant.

En essayant d'agrandir le rayon tu devrais mieux voir le résultat :

Code:

make_polygon(
    make_line(
        array_foreach(
            generate_series(0, 360, 10),
            project($geometry, 20000, radians(@element))
        )
    )
)


chez toi ca fonctionne avec le générateur de géométries ? peux-tu partager une copie d'écran ? quelle version de QGIS ?


J'ai éteint l'ordinateur mais oui ça "fonctionne" sous QGIS 3.32.
Enfin ça fait un cercle autour de la geom d'origine (point), de rayon 20000 mètres.

Hors ligne

 

#15 Sun 22 March 2026 22:51

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

donc ca ne fonctionne pas, sur le cercle il doit y avoir des symboles ...

Hors ligne

 

#16 Sun 22 March 2026 23:13

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

Re: QGIS: Utilisation du symbole "Deplacement de point"

Je précise :le cercle est généré par le générateur de géométrie de ton expression, je ne parle pas du cercle du déplacement de points.

Hors ligne

 

#17 Mon 23 March 2026 12:09

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

OK merci.
J'ai regardé dans QGIS 3.28, le symbole de type "Déplacement de point" n'existait pas.
Ce soir je regarderai dans QGIS 4.0 si ca fonctionne mieux, et j'essaierai de poster une copie d'écran de ce que j'ai pour illustrer.

Hors ligne

 

#18 Mon 23 March 2026 18:17

Benoit D
Participant assidu
Date d'inscription: 17 Jul 2018
Messages: 187

Re: QGIS: Utilisation du symbole "Deplacement de point"

J'ai un truc très moche mais qui fonctionne en QGis 3.40 :
utiliser une expression pour déterminer un décalage x,y de la position du symbole.
1. On calcule le nombre de points au même endroit que le point actuel avec overlay_equals()
2. On ajoute le point actuel à la liste pour avoir le total avec array_append()
3. On prend le nombre total avec array_length()
4. On tri la liste pour que les points soient toujours dans le même ordre
5. On trouve la position relative du point dans la liste avec array_find()
6. On divise un tour complet en parts égales 2*pi()/la valeur trouvée précédemment
7. On multiplie la position du point dans la liste par la taille d'une part
8. On décale en X de Rayon*cosinus
9. On décale en Y de Rayon*sinus

Ce qui donne :

Code:

array(
10*cos(2*pi()*
    array_find(array_sort(array_append(overlay_equals( 'Nouvelle_couche_en_m_moire_04f54258_1f34_4185_8d5c_467e76da36eb',label),"label")),"label")
    /
    array_length(array_append(overlay_equals( 'Nouvelle_couche_en_m_moire_04f54258_1f34_4185_8d5c_467e76da36eb',label),"label")))
,
10*sin(2*pi()*
    array_find(array_sort(array_append(overlay_equals( 'Nouvelle_couche_en_m_moire_04f54258_1f34_4185_8d5c_467e76da36eb',label),"label")),"label")
    /
    array_length(array_append(overlay_equals( 'Nouvelle_couche_en_m_moire_04f54258_1f34_4185_8d5c_467e76da36eb',label),"label"))))

PS : il faut que le champ utilisé ici "label" soit unique.

Dernière modification par Benoit D (Mon 23 March 2026 18:32)


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

Hors ligne

 

#19 Mon 23 March 2026 22:08

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

ah oui je n'y aurais pas pensé ! big_smile

Hors ligne

 

#20 Mon 23 March 2026 22:24

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

je viens de tester avec QGIS 4.0, c'est pareil

Hors ligne

 

#21 Hier 00:22

vxTedxv
Participant occasionnel
Date d'inscription: 26 Jan 2011
Messages: 35

Re: QGIS: Utilisation du symbole "Deplacement de point"

De mon côté ça fonctionne aussi (QGis 3.44.6) et je confirme ce que dit p.jeremie : la valeur chiffrée dans la fonction project() peut faire que les symboles soient très éloignés du centre du cercle... (ex : choisir "map units" comme unité du générateur de géométrie et indiquer une valeur compatible avec l'échelle d'affichage des données pour mieux contrôler ce paramètre)
Note : quelque soit le nombre de points superposés, la géométrie générée créera aussi des symboles superposés (sur le cercle mais tous superposés)

Hors ligne

 

#22 Hier 11:49

Benoit D
Participant assidu
Date d'inscription: 17 Jul 2018
Messages: 187

Re: QGIS: Utilisation du symbole "Deplacement de point"

Merci la communauté de m'avoir appris le générateur de géométrie.
Je pense donc que la demande n'est pas d'avoir un cercle complet mais de positionner un symbole par entité sur un cercle avec au final un rendu avec un point par entité.

Aussi en utilisant le générateur de géométrie au lieu d'utiliser le décalage x,y et en utilisant correctement les variables QGIS cette fonction du générateur de géométrie fonctionne en QGIS 3.40 :
Il faut adapter la valeur 2 en fonction du paramètre d'unités choisi pour le rendu.

Je reprends donc ma proposition qui compte :
- le nombre total de points confondus par overlay_equals() en ajoutant 1 pour le point en cours.
- l'indice du point en cours dans la liste précédente par ordre d'entités (et non plus en fonction d'un attribut)
- qui projette le résultat.


Code:

project($geometry, 2, 2*pi()*array_find(array_sort(array_append(overlay_equals(@layer_id,@id),@id)),@id)/(1+array_length(overlay_equals(@layer_id,@id))))

Dernière modification par Benoit D (Hier 11:53)

Hors ligne

 

#23 Hier 15:17

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

Bonjour, merci de vous intéresser à mon problème !

Je pense qu'il y a une confusion : le symbole associé à un point est un symbole simple, mais auquel on applique un générateur de géométries.
Ca permet de customiser le rendu d'un point quasiment sans limite, on peut rendre un point avec un polygone si on veut, du moment que le générateur le fait. Dans mon cas, le point est rendu avec un cercle coupé - ou pas - en 2 demi-cercles, les 2 demi-cercles ayant des couleurs différentes ou pas, tout ca en fonction de données métier. Je code tout ca en C++ et ca fonctionne très bien.

Donc lorsque ma couche de points s'affiche j'ai bien le rendu espéré. Maintenant lorsqu'il y a plusieurs points au même endroit, je ne vois que le premier, et comme potentiellement ils n'ont pas tous la même tête (couleurs différentes par exemple comme expliqué juste au dessus), j'ai une partie des informations qui est masquée, sauf à faire varier l'ordre d'empilage des points, mais dans tous les cas je ne verrai jamais que le premier.

Le rendu à base de déplacement de points, lui, se moque en théorie du rendu unitaire des points, il est chargé de les dispatcher sur un cercle autour de la coordonnée commune, pour qu'on ait un aperçu de l'ensemble des points empilés.

Mais ce sont deux choses bien différentes, le générateur de géométries se charge du rendu unitaire de chaque point, le déplacement de points se charge de présenter l'empilage de points de manière plus sexy.

Je ne pense pas que cela soit une bonne idée de fusionner les deux et de faire faire le travail du déplacement de points au générateur de géométries.

Je vais re-investiguer suite à la réponse de p.jeremie à propos des unités, il y a peut-être quelque chose que je n'ai pas vu.

C

Hors ligne

 

#24 Hier 15:53

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

Re: QGIS: Utilisation du symbole "Deplacement de point"

Christophe_B a écrit:

Le rendu à base de déplacement de points, lui, se moque en théorie du rendu unitaire des points, il est chargé de les dispatcher sur un cercle autour de la coordonnée commune, pour qu'on ait un aperçu de l'ensemble des points empilés.

Mais ce sont deux choses bien différentes, le générateur de géométries se charge du rendu unitaire de chaque point, le déplacement de points se charge de présenter l'empilage de points de manière plus sexy.


C'est là où je pense que tu fais erreur sur le fonctionnement (actuel en tout cas) de QGIS.
Pour moi, le déplacement de point va placer sur l'anneau, anneau concentrique ou sur la grille les géométries qu'il reçoit du moteur de rendu choisi (symbole unique dans le cas présent). Mais utiliser le générateur de géométrie dans le rendu en symbole unique vient court-circuiter le placement sur le cercle.
Ce n'est peut-être pas le comportement attendu mais je suppose que ça fonctionne comme ça.

Pour ton besoin décrit (demi-cercles), tu peux utiliser les symboles de base de QGIS sans passer par le générateur de géométrie et arriver au résultat attendu.
Utiliser le demi-cercle, paramétrer la couleur selon les données métier, le tourner à -90° et idem pour le deuxième, tourné à 90°.

Je viens de tester sur QGIS 3.34 et ça fonctionne.

Hors ligne

 

#25 Hier 16:29

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

ok merci je vais regarder ca.

Hors ligne

 

#26 Hier 16:34

Christophe_B
Participant actif
Lieu: Paris
Date d'inscription: 10 Jan 2025
Messages: 64

Re: QGIS: Utilisation du symbole "Deplacement de point"

p.jeremie a écrit:

Ce n'est peut-être pas le comportement attendu mais je suppose que ça fonctionne comme ça.


En anglais ils disent "Bug" ... big_smile

Hors ligne

 

#27 Hier 17:57

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

Re: QGIS: Utilisation du symbole "Deplacement de point"

C'est pour ça que je t'invitais à faire une issue sur le github de QGIS 😉

Hors ligne

 

#28 Aujourd'hui 04:31

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 4205

Re: QGIS: Utilisation du symbole "Deplacement de point"

Bonjour

Christophe_B a écrit:
p.jeremie a écrit:

Ce n'est peut-être pas le comportement attendu mais je suppose que ça fonctionne comme ça.


En anglais ils disent "Bug" ... big_smile


D'où le site précédemment suggéré par p.Jérémie : https://github.com/qgis/QGIS/issues

oui je connais ce lien github, en général jamais de réponse


Ça dépend de ce que vous y demandez. Si vous espérez une aide sur le fonctionnement du logiciel, c'est on ne peut plus naturel (et normalement vous êtes priés d'aller le faire sur les autres canaux du projet). Et si c'est un signalement de bug, la nécessité d'une réponse dépendra de la qualité du signalement et de la possibilité d'un correctif (ou un intérêt pour ça). On est sur un projet Open Source... J'y ai déjà fait un paquet de signalements qui ont plutôt débouché sur quelque chose de positif.

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo