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

Printemps des cartes 2024

#1 Wed 07 June 2017 11:47

Groflo
Participant actif
Date d'inscription: 3 Jun 2013
Messages: 84

QGIS: Calculer le pourcentage d'une ligne située dans un polygone

Bonjour,

Je souhaite calculer, pour plusieurs lignes, la part de ces lignes qui traverse certains polygones.

Je peux assez facilement, avec l'outil « total des longueurs de ligne » récupérer les polygones avec les longueurs de ligne qui les traversent, mais je n'ai pas directement un total (puisque j'ai une valeur pour polygones, et ils sont nombreux !) et encore moins une longueur rapporté à la longueur totale. Vu le nombre de lignes sur lequel je dois faire le calcul, moins je fais de manip, mieux ce sera.

Dans l'idéal donc, je préfèrerais avoir un nouveau champ dans chaque couche de ligne qui me donne le % concerné, ou bien à la limite une nouvelle couche en ligne, avec cette valeur.
J'imagine que c'est possible, en créant un champ et en appliquant une expression, mais je connais encore assez mal ce genre de manip. J'ai seulement pu créer un champ nouveau avec $length pour la longueur totale.

Bref, si vous avez des conseils je suis preneur, merci !

Hors ligne

 

#2 Wed 07 June 2017 13:57

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: QGIS: Calculer le pourcentage d'une ligne située dans un polygone

Bonjour,

A mon avis, ce qu'il faut faire :
- découper les lignes par polygones : vecteur > géotraitement > couper => ligne_decoupe.shp
- calculer la longueur de chaque ligne avec champ $length : propriétés de la couche > ajouter champ > lg_coupe = $length
- faire une jointure entre ligne.shp et ligne_decoupe.shp sur la base de l'id des lignes.
- dans decoupe.shp, créer un champ virtuel (ou normal) avec le pourcentage : pctg = $length / lg_coupe


geodata au cerema et petits billets en géomatique

Hors ligne

 

#3 Wed 07 June 2017 16:24

Groflo
Participant actif
Date d'inscription: 3 Jun 2013
Messages: 84

Re: QGIS: Calculer le pourcentage d'une ligne située dans un polygone

Merci MathieuR, c'est effectivement la bonne procédure. Mieux même, en calculant la longueur des lignes complètes AVANT de faire la découpe, on garde la valeur dans la couche ligne_decoupe.shp, et on peut donc se passer de jointure.

Merci beaucoup !

Hors ligne

 

Pied de page des forums

Powered by FluxBB