Étape 7: Position de grille nationale britannique et distance parcourue
1) position de conversion en décimal de Longitude et de Latitude aux unités mètre de UK ordnance survey est détaillée dans un document pdf fourni par l’ordnance survey :
http://www.ordnancesurvey.co.uk/docs/support/guide...
Page 40 n’a pas de lumière de lecture, mais fournit les mathématiques nécessaires.
Mon ordnance Sub sous-routine (phi de flotteur, flotteur lamda) implémente le calcul.
Les valeurs retournées sont précis à +-0.1 pour l’abscisse et +-0,02 pour l’ordonnée. Ce manque de précision est dû à la précision limitée du flotteur Arduino arithmétique. Ne supporte que l’Arduino "6-7" importantes décimales.
.
Le nombre de feuille ordnance survey peut être extraites du chiffre le plus significatif dans les valeurs de longitude et de latitude. Fonction String NE2NGR(float &east, float &north) effectue l’extraction et est attribuée à :
Alex http://www.codeproject.com/Articles/13577/GPS-Der...
.
2) distance parcourue peut être calculée à partir de la différence des deux valeurs de latitude et longitude.
Pour les petites différences, l’estimation doit être suspect en raison du manque de précision inhérent à un point fixe gps. La restriction sur l’Arduino floating point décimale soutien également affecte la précision globale. Malgré cela, distance cumulée parcourue estimations sont raisonnables. La gamme à l’origine est tout à fait exacte, car il n'implique que la différence entre les 2 sites.
L’origine des calculs de distance peut être re-réglé en utilisant le bouton du bas.
À basse vitesse, j’ai goûter les positions sur une période de trois secondes pour augmenter la probabilité que la différence de position est supérieure à la distance de l’incertitude dans le point fixe GPS. À des vitesses plus élevées, je réduis le temps entre les positions échantillonnées. Ce temps est contrôlé par la variable dlimit.
La sous-routine float distance_between (float lat1, flotter long1, flotter lat2, flotter long2) retourne la distance.
Le œuvre originale est attribuée à Maarten Lamers.