GeotrekCE / Geotrek-admin

Paths management for National Parks and Tourism organizations
https://geotrek.fr
BSD 2-Clause "Simplified" License
130 stars 76 forks source link

Altitude and profile calculation #1452

Closed camillemonchicourt closed 2 years ago

camillemonchicourt commented 9 years ago

On a souvent échangé sur ce sujet et des choses ont été faites mais nous venons de constater à nouveau un calcul assez décalé de la réalite.

En effet la randonnée LA CABANE DU PRE D'ANTONI (http://rando.ecrins-parcnational.fr/fr/la-cabane-du-pre-dantoni) affiche un dénivelé positif de 870 mêtres. Pourtant elle part de 1471m et culmine à 1855m soit une différence de 384m.

Et ce dénivelé correspond bien plus à la réalité.

Est-ce l'effet "dent de scie" aussi répercuté dans le profil, qui entraîne ce cumule de mini-dénivelés positifs ?

profile

Discuté ici - https://github.com/makinacorpus/Geotrek/issues/776 et normalement réglé avec https://github.com/makinacorpus/Geotrek/issues/840

leplatrem commented 9 years ago

Ce qui avait été fait lissait les artéfacts entre deux points seulement. Ici comme l'itinéraire est bien long, il faudrait sûrement lisser sur des segments plus longs.. Pour simplifier on pourrait aussi appliquer une interpolation sur la liste complete des altitudes au moment de calculer la valeur de dénivelée http://fr.wikipedia.org/wiki/Moyenne_glissante

camillemonchicourt commented 9 years ago

Oui je pense que cela serait pertinent pour le calcul des dénivelés mais aussi pour le dessin du profil. Pour supprimer les "dents de scie" et obtenir quelque chose de plus lissé un peu comme http://la-trace.com/itineraires/vtt/1020/lac-des-9-couleurs

camillemonchicourt commented 8 years ago

Ça reste à affiner et à lisser. Car cette rando affiche 2030m de dénivelé : http://rando.ecrins-parcnational.fr/fr/les-lacs-de-crupillouse Alors qu'elle part de 1350 et culmine à 2650, donc plutôt 1300m de dénivelé.

camillemonchicourt commented 8 years ago

Amélioré dans la 2.10.4 avec des évolutions sur le mode de calcul (https://github.com/makinacorpus/Geotrek/pull/1511) et l'ajout de paramètres.

Deux variables ont été ajoutées. Elles jouent sur le lissage des profils altimétriques.

Valeurs par défaut : https://github.com/makinacorpus/Geotrek/blob/master/geotrek/settings/base.py#L416-L417

Comme les autres paramètres par défaut, ils peuvent ajustés dans le fichier geotrek/settings/custom.py.

Exemple au PNE :

ALTIMETRIC_PROFILE_AVERAGE = 5 # nb of points for altimetry moving average ALTIMETRIC_PROFILE_STEP = 10 # Step min precision for positive / negative altimetry gain

Avec ALTIMETRIC_PROFILE_AVERAGE = 5, Geotrek fait une moyenne de l'altitude du point courant, des 5 points précédents et des 5 points suivants (11 points au total) Avec ALTIMETRIC_PROFILE_STEP = 10, Geotrek ne compte pas la D+ ou la D- si la montée ou la descente est inférieure à 10 mètres avant la descente/montée suivante.

Il faut faire un make deploy puis un UPDATE l_t_troncon SET geom=geom; dans la BDD pour prendre en compte la modification.

Sur l'exemple de La cabane du Pré d'Antoni avec ces réglages assez agressifs, ça passe de 870 m D+ à 468 m D+.