Guides

Estimer le dénivelé positif total d'un itinéraire

Le dénivelé positif total est un chiffre unique qui en dit plus à un randonneur ou à un cycliste sur la difficulté d'un itinéraire que la distance seule ne le fera jamais. Il est aussi simple à calculer dès que vous disposez de données d'altitude pour suffisamment de points le long de l'itinéraire.

Obtenir l'altitude de l'itinéraire

Envoyez les coordonnées de l'itinéraire, dans l'ordre, à /v1/elevation, soit avec le paramètre points, soit sous forme de tableau dans un POST groupé.

GET /v1/elevation?points=45.8326,6.8652|45.8400,6.8700|45.8475,6.8750|45.8300,6.8800
{
  "status": "ok",
  "results": [
    {"lat": 45.8326, "lon": 6.8652, "elevation_m": 1035},
    {"lat": 45.8400, "lon": 6.8700, "elevation_m": 1210},
    {"lat": 45.8475, "lon": 6.8750, "elevation_m": 1390},
    {"lat": 45.8300, "lon": 6.8800, "elevation_m": 1180}
  ]
}

Additionner le dénivelé positif

Parcourez les résultats dans l'ordre et, pour chaque paire consécutive, ajoutez la différence à votre total cumulé uniquement lorsque l'altitude a augmenté. Dans cet exemple, de 1035 à 1210 ajoute 175, de 1210 à 1390 ajoute 180, et de 1390 à 1180 n'ajoute rien puisque ce segment descend. Le dénivelé positif total de ce court tronçon est de 355 mètres.

gain = 0
for i in 1..n:
  diff = elevation[i] - elevation[i-1]
  if diff > 0: gain += diff

Le dénivelé négatif, à partir des mêmes données

La même boucle, avec la comparaison inversée, vous donne à la place la descente totale, qui compte tout autant que le dénivelé positif pour un itinéraire qui se termine plus bas qu'il ne commence, comme une descente d'un point à un autre en vélo depuis une montagne.

loss = 0
for i in 1..n:
  diff = elevation[i] - elevation[i-1]
  if diff < 0: loss += -diff

Pour les quatre points ci-dessus, le dénivelé négatif total est de 210 mètres, entièrement dû au dernier segment descendant. Un résumé d'itinéraire qui n'indique que le dénivelé positif et omet le dénivelé négatif ne raconte que la moitié de l'histoire pour tout parcours qui n'est pas un simple aller-retour.

L'espacement des points change le résultat

Le dénivelé positif dépend du nombre de points échantillonnés. Trop peu de points lissent les montées et descentes réelles et donnent un total sous-estimé. Trop de points sur une trace GPS bruitée peuvent gonfler le chiffre avec de petites oscillations qui n'ont jamais été une vraie montée. Un espacement de dix à trente mètres le long d'une trace de randonnée, ou un rééchantillonnage à intervalles de distance réguliers, constitue un point de départ raisonnable.

Une erreur à éviter

Effectuer le calcul du dénivelé directement sur une trace GPS brute sans la rééchantillonner au préalable est une façon courante d'obtenir un chiffre gonflé, car les traces GPS grand public oscillent souvent de quelques mètres entre deux points enregistrés consécutifs, même sur un terrain réellement plat. Rééchantillonnez la trace à intervalles de distance réguliers avant de demander son altitude, plutôt que de demander l'altitude de chaque point brut enregistré par l'appareil.

Le coût en requêtes

Chaque point correspond à une requête, qu'il soit envoyé via le paramètre points ou dans un tableau groupé. Un itinéraire de 300 points échantillonnés coûte 300 requêtes, ce qui reste une petite part des 2 500 requêtes gratuites par jour incluses avec chaque clé.

Un dénivelé calculé de cette façon ne vaut que ce que vaut l'échantillonnage de points qui le sous-tend, il est donc utile de tester quelques espacements sur un itinéraire connu avant d'en choisir un. Toutes les options de requête figurent sur la page de documentation de la recherche d'altitude.