Bonjour,

Etant relativement débutant en javascript, je bloque sur la création d'un script de calcul de distance a partir de coordonnées gps récupérés en JSON. D'autant plus qu'il y a des coordonnées gps buggé qu'il faut traité.
Du coup je les répere en calculant quand la vitesse est supérieure a 150 et si c'est le cas je calcule la vitesse par rapport aux coordonnées suivantes etc... jusqu'à ce que ce soit réaliste (donc <150km/h)

J'ai fait ça comme script mais il doit y avoir des erreurs quelques part que je n'arrive pas a trouver (ça fait 2 jours complet que je seche la dessus ) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
                            //enlever les vitesses aberrantes
                            arrayvitesse2 = new Array();
                            vitessetemp1 = new Array();
                            vitessetemp = new Array();
                            vitessetemp2 = new Array();
 
  for (i = 0; i < arraydistance.length; i++) {
                                //calcul de la vitesse par rapport à la ligne suivante
                                vitessetemp1.push(calculvitesse(calculdistance(arraylatitude[i], arraylongitude[i], arraylatitude[i + 1], arraylongitude[i + 1]), calculduree(String([data.rows[i].key]), String([data.rows[i + 1].key]))));
                                //si la vitesse est > 150
                                if (vitessetemp1[i] > 150) {
                                    n = i + 1;
                                    vitessetemp.push(calculvitesse(calculdistance(arraylatitude[i], arraylongitude[i], arraylatitude[n], arraylongitude[n]), calculduree(String([data.rows[i].key]), String([data.rows[n].key]))));
 
                                    //je calcule avec la valeur suivante tant que le resultat est > 150
                                    while (vitessetemp2[i] > 150) {
                                        vitessetemp2.push(calculvitesse(calculdistance(arraylatitude[i], arraylongitude[i], arraylatitude[n], arraylongitude[n]), calculduree(String([data.rows[i].key]), String([data.rows[n].key]))));
                                        n++;
                                    }
 
                                    // je recupere la derniere
                                    arrayvitesse2.push(vitessetemp2[n]);
                                }
                                // je repart sur le calcul classique si la vitesse <150
                                arrayvitesse2.push(vitessetemp1[i]);
 
                                $('#zone').append("Vitesse" + " n° " + [i] + "=" + arrayvitesse2[i] + "km/h <br>");
 
                            }
J'ai testé séparément mes fonctions calculvitesse, calculduree et calculdistance et elles semblent marcher correctement donc a priori le probleme ne vient pas de la.

Merci d'avance pour vos réponses =)