#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
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: 3947
Re: QGIS: Calcul du denivele positif et negatif cumule
Bonjour
@preliator https://docs.qgis.org/testing/en/docs/u … along-line (sur 3.8)?
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: 3947
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