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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 09 May 2016 15:48

gustavecoste
Participant actif
Lieu: Montpellier
Date d'inscription: 24 Apr 2013
Messages: 118

QGIS: Calcul du denivele positif et negatif cumule

Bonjour,
Je cherche à calculer le dénivelé positif et négatif cumulé à partir d'un fichier de lignes et d'un MNT.
J'ai vu des choses comme l'extension profile tools qui permet de calculer un profil altimétrique mais je ne m'intéresse qu'au dénivelé cumulé et j'aimerais une solution pour le faire automatiquement et non ligne par ligne.

Est-ce que quelqu'un connait une solution?


Gustave Coste

Hors ligne

 

#2 Tue 17 May 2016 15:04

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

Re: QGIS: Calcul du denivele positif et negatif cumule

Bonjour,

Une solution pas très élégante mais essayons :
-Polygonisez votre MNT
-Intersectez vos lignes par le MNT polygonisé
-Extrayez les noeuds de chaque ligne : ligne vers noeuds
-Extrayez l'altitude en chaque noeud
-Créez deux colonnes sur chaque ligne : z1 et z2
-Ajoutez y les infos d'altitude grâce à une jointure
-Calculez le dénivelé entre le point source et le point cible de votre ligne dans une nouvelle colonne
-Créez une colonne type_deniv qui discrimine les lignes avec dénivelé + et - :

Code:

case when z2 > 1 THEN type_deniv='positif' ELSE 'négatif' END

-Utilisez group stats pour calculer le dénivelé total par type_deniv


geodata au cerema et petits billets en géomatique

Hors ligne

 

#3 Tue 24 May 2016 12:58

gustavecoste
Participant actif
Lieu: Montpellier
Date d'inscription: 24 Apr 2013
Messages: 118

Re: QGIS: Calcul du denivele positif et negatif cumule

J'ai trouvé une méthode qui fonctionne:

Couches en entrée:
- Couche de lignes avec un identifiant unique FID
- MNT (couche nommée altitude)

Étapes:
1) Création de points le long des lignes avec le traitement QGIS QGIS Create points along lines, avec une distance entre les points X
2) Calculatrice de champs: création sur la couche de points d'un champ num_point avec la formule suivante:

Code:

"Distance"  / X

3) Calculatrice de champs: création sur la couche de points d'un champ id_point avec la formule suivante:

Code:

"FID" || '_' || "num_point"

4) Récupération des valeurs d'altitude sur les points avec le traitement SAGA Add grid values to points
5) Calculatrice de champs: calcul du dénivelé par rapport au point précédent dans un nouveau champ deniv avec la formule suivante:

Code:

CASE WHEN num_point = 1 THEN 0
ELSE     
attribute( 
     get_feature( 
        @layer_id,
        'id_point',
        "FID" || '_' || ("num_point" -1)
     ),
     'altitude'
 ) - "altitude"
END

6) Calculatrice de champs: création d'un nouveau champ sens_deniv avec la formule suivante:

Code:

"deniv" / abs( "deniv" )

7) Group Stat pour calculer les dénivelés positif et négatif cumulés avec les paramètres suivants:
Columns: sens_deniv
Rows: FID
Value: deniv, sum
8) Export du tableau en .csv et jointure avec la couche de ligne sur le champ FID pour récupérer les dénivelés.


Ça fonctionne même si c'est un peu laborieux. J'ai essayé d'automatiser le tout en passant par le modeleur graphique mais je bloque à l'étape 5 car l'appel à la variable @layer_id ne semble pas fonctionner au sein du modeleur. Dans tous les cas l'étape 7 ne peut pas se faire avec le modeleur du fait de l'appel à Group Stats.

Si vous avez des améliorations, je suis preneur.

Dernière modification par gustavecoste (Tue 24 May 2016 13:06)


Gustave Coste

Hors ligne

 

#4 Fri 16 September 2016 16:39

leonard
Juste Inscrit !
Date d'inscription: 13 Nov 2007
Messages: 3

Re: QGIS: Calcul du denivele positif et negatif cumule

bonjour
j'essaie d'utiliser votre calcul de dénivelé
or je bloque à l'étape 5, calcul du dénivelé . j'ai le message suivant :

Erreur d'analyse:
syntax error, unexpected '(', expecting COMMA or ')'

Erreur d'évaluation:
Pas de nœud racine !

je précise que j'ai suivi à la lettre la procédure et que je travaille avec qgis 2.8.9

Si qqu'un peut m'éclairer
je vous remercie par avance

Hors ligne

 

#5 Thu 25 July 2019 19:10

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

Re: QGIS: Calcul du denivele positif et negatif cumule

gustavecoste, merci beaucoup pour ta technique. Aujourd'hui encore, je n'ai pas trouvé d'extention sur QGis permettant de calculer le denivelé positif.

Cependant, dans ta formule de "deniv", le champ me retourne 1 lorsque je perds 1 mètre, et me retourne -1 lorsque j'en gagne 1. Ca ne devrait pas être l'inverse ?

Je suis obligé de faire un "deniv * -1" après, pour que ça soit cohérent.

Hors ligne

 

#6 Thu 25 July 2019 19:43

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

Re: QGIS: Calcul du denivele positif et negatif cumule

Hors ligne

 

#7 Fri 26 July 2019 16:01

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

Re: QGIS: Calcul du denivele positif et negatif cumule

Merci à toi pour ta réponse.

Malheureusement, je n'arrive pas à trouver l’algorithme "Clim along line". Est-il trouvable dans l'onglet Traitement ?

Hors ligne

 

#8 Sun 28 July 2019 06:44

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

Re: QGIS: Calcul du denivele positif et negatif cumule

Ah sorry, il a été intégré dans la version dev de la 3.10, quasi au lendemain de la publication de la 3.8, d'où ma confusion. Par contre, il existe déjà en version "extension" vu que c'est une transposition de l'extension Climb

Hors ligne

 

Pied de page des forums

Powered by FluxBB