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

GeoDataDays 2025

#1 Thu 19 March 2020 16:07

Vincent-SIABS
Participant actif
Date d'inscription: 20 Sep 2016
Messages: 57

QGIS: Orientation de symboles de facon "unique a chaque symbole"

Bonjour,

Désolé pour le titre un peu bancale mais je cherche à savoir s'il est possible d'orienter les symboles d'une même couche de façon indépendante les un des autres. En gros je veux orienter non pas le symbole "générale" mais chaque entrées de ma couche.

En gros j'ai une couche de vanne et je veux que celle-ci soit orienté dans le même sens que la polyligne sous-jacente. Chaque vanne aura donc une orientation qui lui est propre.

Acutellement les vannes sont orientées toutes dans le même sens et je ne sui pas fan du rendu. cf capture écran jointe.

J'ai cherché mais je ne trouve rien de probant. Je fais donc appel à vos lumières.

Merci à vous !

Dernière modification par Vincent-SIABS (Thu 19 March 2020 16:08)


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

Hors ligne

 

#2 Fri 20 March 2020 09:07

Idir
Participant actif
Lieu: Perpignan
Date d'inscription: 28 Dec 2007
Messages: 100

Re: QGIS: Orientation de symboles de facon "unique a chaque symbole"

Bonjour,

Vous pouvez créer un champ de rotation pour la couche vanne, mettre les angles de rotation pour chaque vanne.

Propriétés de la couche --- symbologie --- Rotation --- Type de champ --- choisir le champ que vous avez créé (pièce jointe). 

Bonne journée,
IDIR


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

Hors ligne

 

#3 Mon 23 March 2020 14:26

Vincent-SIABS
Participant actif
Date d'inscription: 20 Sep 2016
Messages: 57

Re: QGIS: Orientation de symboles de facon "unique a chaque symbole"

Bonjour,

Merci pour votre réponse je vais regarder ça !

Bonne journée.

Hors ligne

 

#4 Tue 06 October 2020 14:44

Vincent-SIABS
Participant actif
Date d'inscription: 20 Sep 2016
Messages: 57

Re: QGIS: Orientation de symboles de facon "unique a chaque symbole"

Mieux vaut tard que jamais voici comment je m'en suis sorti  : grâce à l'aide des morts...

Non blague à part j'ai trouvé la solution sur un site de SIG appliqué à d'archéologie : https://archeomatic.wordpress.com/2012/ … polyligne/

La formule magique à rentrer dans la calculette de champs de Qgis :

Code:

(atan((xat(-1)-xat(0))/(yat(-1)-yat(0)))) * 180/3.14159 + (180 *(((yat(-1)-yat(0)) < 0) + (((xat(-1)-xat(0)) < 0 AND (yat(-1) - yat(0)) >0)*2)))

Bien penser à "traiter" la couche polyligne pour "exploser" les lignes par rapport aux vertex qui les composent. Sinon les valeurs d'orientation peuvent être erronées car le calcul se base sur le point de départ et d'arriver. Si votre polyligne a le profil "d'un serpent en S" l'orientation globale calculée sera "erronné" pour orienter un symbole se trouvant sur un "segment" particulier de ce "S"

Suffit ensuite de "bricoler" avec des jointures spatiales et attributaires pour faire remonter l'orientation de la ligne dans la table ponctuelle et le tour est joué !

Pour finir il faut attribuer une valeur d'angle se basant sur le champs crée comme l'indiquait Idir ;-)

Reste maintenant à transposer ce "process" réalisé sous Qgis dans une base postgis de manière à ce que ça se fasse automatiquement et là ce n'est pas la même... :-/

Bonne journée à vous !

Hors ligne

 

#5 Wed 23 April 2025 14:26

bastiencarto
Participant occasionnel
Date d'inscription: 5 Nov 2020
Messages: 12

Re: QGIS: Orientation de symboles de facon "unique a chaque symbole"

Bonjour,
J'espère que le sujet est toujours d'actualité...sinon j'ai raté quelque chose
voici une expression qui me semble pas mal (version 3.40.2) même avec une poly-lignes en forme de "S" :

Code:

degrees(azimuth(closest_point(overlay_nearest(' COUCHE CANA', $geometry)[0], $geometry),
    line_interpolate_point(
      overlay_nearest('COUCHE CANA', $geometry)[0],
      line_locate_point(overlay_nearest('CANA', $geometry)[0], $geometry) + 0.01)))

Pour suivre l'exemple du sujet de départ.
Il faut integrer l'expression dans la couche "VANNE" (proprietes--->symbologie--->rotation)
'COUCHE CANA' va correspondre à la poly lignes de référence qui va servir à donner la direction à votre symbologie de la couche

Bonne journée  !

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo