Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Exercice 6
Dans l’optique de développer une app pour smartphone permettant de localiser le DEA (Défibrillateur Externe Automatisé) le plus proche de vous et ainsi de peut-être sauver des vies, nous allons développer un prototype permettant de tester l’idée. Dans la problématique, il est nécessaire de pouvoir calculer la distance entre deux points du globe. Ecrivez en C un programme permettant de calculer une distance à partir de coordonnées GPS. Pour l’exercice, utilisez les formules suivantes :
Notes :
- Dans cette formule, les latitudes et longitudes sont exprimées en radians.
- L'utilisateur encondera les angles de latitudes et longitudes en degrés (comme c'est le cas conventionnellement).
- Rappelons-nous que 180° = π radians !
- En C, en ajoutant #include <math.h> en début de programme, on a droit à M_PI qui est la constante π (avec une précision suffisante)
- Attention, avec Visual Studio, il est toutefois nécessaire d'ajouter la ligne
#define _USE_MATH_DEFINES
juste avant la ligne
#include <math.h>
- La formule donne la distance en km entre les 2 points.
- Les calculs peuvent être vérifiés facilement avec Google Maps ou bien avec les valeurs tests suivantes :
latA = 50.661778
longA = 5.523157
latB = 49.000968
longB = 3.413383
-> latA (rad) = 0.884215
-> longA (rad) = 0.096397
-> latB (rad) = 0.855228
-> longB (rad) = 0.059575
-> x = -0.023752
-> y = -0.028987
-> d = 238.753505 (km)
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content