Question

Je suis en train de développer une application qui vous permet de se promener, et où vous marchiez sera tracée sur une carte. J'ai tout cela bien travailler, mais je trouve que même avec un emplacement GPS assez précise des points sautent encore un peu. Lorsque tracée sur une carte ce qui a pour effet de créer un squiggly ou en zigzag ligne.

Je cherche des suggestions / stratégies sur la façon de lisser les données, de sorte que la ligne tracée sur la carte est plus d'un meilleur ajustement lisse, plutôt que d'un point précis au dessin de points.

Était-ce utile?

La solution

Il y a nombre différents types d'algorithmes de lissage, vous pouvez appliquer aux données (pour quelques points de départ, voir ce article de Wikipedia). La seule façon de savoir avec certitude qui est / sont adaptés à votre application consiste à mettre en œuvre et tester les.

moyennes mobiles simples ou pondérées sont assez fréquentes (en prenant les derniers n échantillons et les en moyenne), mais qui ont le problème de retard par rapport aux données. Une commune pour filtrer le bruit de signal est un mouvement filtre passe-haut qui atténue les petites (bruyant) en passant par les plus grands. Apple a un code pour cela dans leur échantillon AccelerometerGraph .

Je vous suggère d'essayer les tout d'abord car ils sont faciles à appliquer, avant de regarder les complexes de mouvement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top