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

Printemps des cartes 2024

#1 Mon 21 August 2023 21:22

liege67
Participant actif
Lieu: Liège
Date d'inscription: 10 Apr 2014
Messages: 130

QGIS: trier des polygones par la longueur du premier segment

bonjour

j'ai une demande qui me vient d'une ancienne collègue ...  pour laquelle je n'ai pas le moindre début de réponse
comment trier des polygones selon la longueur du premier segment (qui a été dessiné) ?

merci pour vos idées, jean marc

Hors ligne

 

#2 Tue 22 August 2023 09:10

anthony.v
Participant occasionnel
Date d'inscription: 13 Apr 2023
Messages: 18

Re: QGIS: trier des polygones par la longueur du premier segment

Bonjour,

Essayez peut-être avec la fonction distance_to_vertex :
https://docs.qgis.org/3.28/fr/docs/user … -to-vertex

Il est indiqué d'utiliser une géométrie de polyligne, mais en testant le code suivant, la longueur du 1er segment du polygone semble bien être renvoyé.

Code:

distance_to_vertex($geometry ,1)

Hors ligne

 

#3 Tue 22 August 2023 11:25

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

Re: QGIS: trier des polygones par la longueur du premier segment

Cette fonction a en effet l'air de fonctionner. D'après mes tests, la distance est calculée depuis le 1er point du polygone.
Intéressant donc si on veut connaitre la longueur des 3 premiers segmen

De mon côté j'aurais plutôt fait avec cette formule (dans un champ virtuel à créer avec la calculatrice de champ)

Code:

 length(make_line(point_n($geometry,1),point_n($geometry,2)))

length calcule la longueur
make_line crée une ligne entre deux points :
- le premier point du polygone, récupéré avec point_n($geometry,1)
- le deuxième point du polygone, récupéré avec point_n($geometry,2)

On a donc bien la longueur du premier segment.
Si on veut la longueur du deuxième segment on peut facilement l'avoir en changeant les indexes.

Code:

 length(make_line(point_n($geometry,2),point_n($geometry,3)))

Et pour répondre complètement à la question, une fois le champ créé, il suffira de s'en servir pour faire le tri, dans la table des attributs smile

Dernière modification par p.jeremie (Tue 22 August 2023 11:26)

Hors ligne

 

#4 Wed 23 August 2023 07:00

liege67
Participant actif
Lieu: Liège
Date d'inscription: 10 Apr 2014
Messages: 130

Re: QGIS: trier des polygones par la longueur du premier segment

merci pour vos retours, je fais suivre (et je teste aussi ce WE par curiosité)

Hors ligne

 

Pied de page des forums

Powered by FluxBB