Bonjour tout le monde,
Pour une de mes applications, j’aimerai calculer le dénivelé positif d’un trajet, c’est à dire, sur un trajet donné, de combien de mètre est-ce que l’utilisateur est monté au total; par exemple:
(20m)
___ ___
// \__// \ y (10m)
x____// \___//
(0m)
En admettant que le point X soit le point de départ, et le point Y, celui de l’arrivée.
Que X se situe à 0m d’altitude, et Y à 10m, et donc, que chaque ligne, c’est un gain de 10m de dénivelé.
Dans ce cas, le dénivelé positif de l’utilisateur serait de 20m + 10m + 10m (voir les // sur le schéma), donc de 40m.
J’ai vu qu’il était possible de le faire via CoreMotion, avec CMAltimeter, ce qui serait parfait, mais … pas de chance, le baromètre n’est pas disponible sur tous les iPhone (l’iPhone SE par exemple, n’a pas de baromètre)…
Je me suis alors rabattu sur l’altitude des points GPS du trajet, mais c’est assez imprécis: je l’ai testé, et sur un trajet où je suis censé avec 130m de dénivelé positif, j’en ai 220…
Est-ce que j’ai raté quelque chose ? Est-ce qu’il existe une autre façon de faire ? Comment font les applications du genre Strava, ou Runtastic pour calculer ce dénivelé ?
Merci,
Bonne journée,
Alexandre
Hello,
Les applications de type Strava ou Runtastic, par exemple, ont souvent deux modes :
• Le premier, smartphone only, utilise le GPS du téléphone pour calculer le dénivelé d’un trajet. Ce qui amène à de très grandes différences par rapport à la réalité du fait de la précision GPS qui peut te placer dans un ravin à un moment et au sommet d’une falaise juste après !
• Le deuxième, couplé avec une montre, est beaucoup plus précis car il récupère les données de l’altimètre barométrique de la montre.
1 « J'aime »
Bonjour @schtipoun,
Voici ce que je pensais faire:
- Si une montre est couplée à l’application:
– Utiliser l’altimètre barométrique de la montre.
- Si aucune montre n’est couplée à l’application:
– Si le baromètre est disponible sur le téléphone: utiliser le baromètre.
– Si le baromètre n’est pas disponible sur le téléphone: utiliser l’altitude GPS.
Si jamais tu vois d’autres solutions, je suis preneur, mais personnellement je n’en voit pas d’autres…
Merci de ta réponse rapide,
Alexandre
Je n’en vois pas d’autres non plus, je pense que c’est la meilleure solution à adopter et certainement celle qui est présente dans leurs applications.
Il y a peut-être un peu de machine learning à faire ensuite. Par exemple : si un utilisateur X utilise un altimètre barométrique pour faire trajet A > trajet B et ça indique 1800 mètres de dénivelé, l’utilisateur Y qui utilise l’altitude GPS sur ce même trajet devrait avoir 1800 mètres de dénivelé car l’altimètre barométrique est considéré comme le plus fiable. A voir même si tu peux découper les valeurs en petits morceaux pour parfois capter une petite partie de leur parcours et être le plus fiable dans tes mesures.
Je vais commencer en faisant ça, de toute façon, rien ne m’empêche d’améliorer tout ça par la suite 
Oui, j’ai pensé aussi comparer les données avec des utilisateurs qui ont des données jugées comme plus précises, mais ce n’est pas possible dans mon cas, car je ne fais pas de stockage central (en tous cas, pas pour le moment).
Après, peut-être que c’est faisable de trouver le dénivelé quelque part sur Internet, et donc d’avoir une mesure précise (en tous cas de référence), mais j’essaye aussi un maximum de ne pas utiliser de connexion internet pour mon application, donc dans un premier temps, je vais rester sur les capteurs disponibles 