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

GeoDataDays 2025

#1 Wed 23 April 2025 15:57

hugo mtda
Participant occasionnel
Date d'inscription: 11 Mar 2024
Messages: 21

QGIS 3.34: Tracer une mediatrice

Bonjour,

J'aimerai tracer des médiatrices dans QGIS, mais je ne parviens pas à trouver la solution. J'ai une couche de ligne à partir de laquelle j'ai réussi à obtenir une couche de point au milieu de chacune de mes lignes. Ensuite je voudrais à partir de ces points, tracer des lignes de 10 mètres qui seraient perpendiculaires à ma couche de ligne initiale.

Toute solution ou piste est la bienvenue pour ce problème, je sèche complètement.

Merci par avance

Hors ligne

 

#2 Thu 24 April 2025 12:09

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

Re: QGIS 3.34: Tracer une mediatrice

Bonjour,
Vous avez regardé s'il 'y avait pas une extension qui faisait cela?
Vos lignes sont-elles composées de plusieurs segments ou d'un segment chacune?
La médiatrice, elle est de part et d'autre du segment, ou d'un seul côté?
Vous voulez créer une nouvelle couche avec ces médiatrices ou c'est pour de la visualisation? Dans le premier cas vous pouvez utiliser l'algorithme "géométrie par expression" et dans l'autre, le générateur de symboles
Pour ce qui est de la ligne, il faudra la construire étape par étape, avec une expression. Un exemple qui semble fonctionner sur des lignes à segment unique ( voir l'algorithme "Exploser les lignes")
Ça devrait vous aider à adapter, s'il y a lieu.

Code:

with_variable(
  'ligne', -- on identifie le segment
  /*make_line(
    make_point(0,0),make_point(10,0)
  ), -- donnée utilisée pour tester */
  geometry(@feature),
  with_variable(
    'centre', -- on en identifie le centre
    centroid(@ligne),
    with_variable(
      'projete', -- on va créer le deuxième sommet de la médiatrice, donc médiatrice placée d'un seul côté
      project(
        @centre,
        10,
        azimuth(point_n(@ligne, 1), point_n(@ligne, -1)) + pi()/2), -- ici j'ai pris un sens arbitraire de rotation pour le placement de la médiatrice
     geom_to_wkt(make_line(@centre, @projete)) -- on trace la ligne entre le centre et le second sommet
    )
  )
)

Hors ligne

 

#3 Thu 24 April 2025 14:43

hugo mtda
Participant occasionnel
Date d'inscription: 11 Mar 2024
Messages: 21

Re: QGIS 3.34: Tracer une mediatrice

Bonjour Santanna,

Merci beaucoup pour votre réponse, c'est le code et l'outil dont j'avais besoin ! J'ai juste eu à modifier légèrement le code pour que ça corresponde à ce que je voulais.

Pour clarifier mes attentes si jamais ce code peut servir à quelqu'un d'autre :
J'ai une couche de ligne d'un seul segment chacune et je souhaite tracer une médiatrice de 10m de part et d'autre du segment. Et l'objectif est d'obtenir une nouvelle couche.
En utilisant "géométrie par expression" et le code de Santanna (avec quelque modifications si besoin) ça fonctionne très bien.

Merci encore !

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo