2 votes

Qu'est-ce qui cause des estimations GPS erratiques pendant certains intervalles de temps ?

J'ai développé des applications de géolocalisation et les ai testées principalement sur mon HTC G1 sous Android 1.6. Je trouve qu'il y a certains intervalles de temps -- d'environ 1 à 2 heures -- où les positions GPS enregistrées deviennent très erratiques : je me retrouve avec ce qui ressemble à une distribution aléatoire de points autour de ma position réelle, mais au lieu d'être regroupés dans un cercle de 10 à 50 mètres comme ils le sont normalement (j'utilise une précision minimale pour enregistrer ces positions), ils sont dispersés dans un rayon de quelque chose comme 1 à 5 km -- même si chacune de ces positions a une précision déclarée de moins de 50 mètres.

C'est comme si la précision réelle de la localisation augmentait pendant ces périodes, mais que la précision annoncée restait la même. Ce phénomène est relativement peu fréquent et lorsqu'il se produit, il ne dure que quelques heures, après quoi tout semble à nouveau normal. Parce que c'est si peu fréquent, et parce que je suis généralement en train de bricoler l'application, j'ai du mal à exclure la possibilité que cela soit dû à un bug dans mon code.

Quelqu'un d'autre a-t-il connu ce problème ? Y a-t-il des problèmes connus de matériel ou de micrologiciel qui pourraient en être la cause ? Si c'est le cas, quelqu'un a-t-il un bon moyen de détecter le problème lorsqu'il se produit et de corriger les valeurs de précision signalées ? Je suppose qu'une option serait de s'appuyer sur les phrases NMEA, mais j'aimerais pouvoir exécuter l'application sous Android API niveau 4 et je vois que GpsStatus.NmeaListener nécessite 5 ou plus.

J'apprécierais vraiment toute suggestion.

1voto

AlexWien Points 15259

Une déviation de 1 à 5 km ne devrait jamais se produire dans les récepteurs GPS.
Si c'est le cas, il semble qu'un autre service de localisation soit actif, comme la localisation des tours de téléphonie mobile et la localisation du réseau wifi.

Si vous voulez une position précise, vous devez filtrer toutes les données non GPS.
Il est possible de détecter les positions GPS en leur attribuant une vitesse et un cap (relèvement) lorsque l'appareil se déplace.
(Je ne suis pas sûr que la vérification de l'altitude soit utile).

Les motifs des lignes proviennent de la situation dans laquelle un nouveau satellite GPS entre dans le champ de vision, alors que d'autres disparaissent. La nouvelle situation peut être pire à partir de la constellation géométrique des satellites.
Cette nouvelle constellation peut également appeler des effets de trajets multiples (réflexions du signal GPS sur le bâtiment opposé).

Et j'espère que vous ne faites pas vos mesures à l'intérieur (où le GPS ne fonctionne pas de manière fiable).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X