#1 Wed 18 December 2019 16:38
- upriste
- Participant occasionnel
- Date d'inscription: 14 Feb 2019
- Messages: 43
QGIS 3.4: Longueur de voies selon variation d'altitude
Bonjour,
Nous avons une couche polyligne du réseau routier issue de la bd topo.
Nous avons calculé les longueurs de tronçon à plat mais ce n'est pas représentatif de la réalité puisque nous sommes sur un territoire comportant du relief. Comment faire pour calculer la longueur des tronçons en fonction du relief?
Pour info, nous avons aussi un MNT 5m.
Hors ligne
#2 Thu 19 December 2019 13:29
- sylvain poupard
- Participant assidu
- Date d'inscription: 19 Mar 2009
- Messages: 362
Re: QGIS 3.4: Longueur de voies selon variation d'altitude
Bonjour,
A moins de tout redessiner en 3D dans le logiciel correspondant (?) le principe serait d'appliquer un coefficient basé sur la pente moyenne du tronçon en utilisant la trigonométrie (on connaît le côté adjacent(longueur de la route), on récupère l'angle (pente) en degré via le MNT et on calcule l’hypoténuse "longueur_avec_pente" (côté adjacent / cos(angle°))
Une procédure serait de:
- créer un raster de pente depuis votre MNT (Raster>analyse> pente // en degré),
(le mieux serait de travailler directement avec la couche des routes en linéaire mais je n'ai pas trouvé, donc ce qui suit passe par la récupération des info via une couche de polygone/tampon)
- Ajouter au préalable un champs "longueur_initiale"($length) et "identifiant_unique"(@row_number) sur la couche des routes en linéaires
- Créer la couche de polygone avec une zone tampon autour des routes (dans mon test j'ai pris 1 mètre)
- récupérer les valeurs de pente "pente_en_degre" sur ces tampons grâce au traitement "statistique de zone" (choisir de récolter la médiane plutôt que la moyenne, ça "élimine"les aberrations)
- Par jointure sur l'identifiant unique entre les 2 couches vous ajoutez la pente médiane sur la couche des routes pour chaque entité
- créer un nouveau champ "longueur_avec_pente" avec la formule
Code:
"longueur_initiale" /( cos( radians( "pente_en_degre" )))
Il doit sûrement y avoir plus fluide comme procédure (!) mais ça a l'air d’être correct d'après mes résultats. En attendant d'autres avis...
Bon courage
Hors ligne
#3 Thu 19 December 2019 18:44
- upriste
- Participant occasionnel
- Date d'inscription: 14 Feb 2019
- Messages: 43
Re: QGIS 3.4: Longueur de voies selon variation d'altitude
Bravo ça marche ! Merci beaucoup.
Hors ligne
#4 Tue 29 September 2020 20:46
- ljacquot
- Juste Inscrit !
- Lieu: nancy
- Date d'inscription: 28 Sep 2006
- Messages: 3
Re: QGIS 3.4: Longueur de voies selon variation d'altitude
bonjour,
pour un besoin d'avoir des longueurs réelles sur un réseau Télécom, pourriez-vous détailler un peu la méthodologie appliquée s'il vous plait ?
j'ai mon réseau différents segments ayant chacun un code unique.
j'ai un MNT avec des pixels de 25m de côté. (base copernic)
créer le raster de pente c'est fait.
mon soucis est qu'il peut y avoir plusieurs tracé superposés. ces tracés n'étant pas de longueurs équivalentes.
de plus ils peuvent tourner (avec un pixel de 25 m ... forcément)
on ne pourrait pas faire appliquer le Z sur les polylignes puis en le déformant en 3D recalculer la longueur ?? ça ne marche pas ?
Hors ligne
#5 Wed 30 September 2020 09:23
- Njoy
- Participant actif
- Lieu: Lyon
- Date d'inscription: 29 Nov 2018
- Messages: 89
Re: QGIS 3.4: Longueur de voies selon variation d'altitude
Bonjour,
et en découpant chaque tracé en "sous-tracés", de 1,2 ou 5m ? le problème serait éliminé ?
Hors ligne
#6 Sat 12 June 2021 13:29
- sylvain poupard
- Participant assidu
- Date d'inscription: 19 Mar 2009
- Messages: 362
Re: QGIS 3.4: Longueur de voies selon variation d'altitude
Pour suivi
D'après le changelog 3.20 on peut désormais calculer une longueur 3D :
https://changelog.qgis.org/en/qgis/vers … -return-3d
Hors ligne