Nun, da stößt Du an die Grenzen von GPS. Prinzipiell ist GPS eine immense Rechenarbeit für "alle Beteiligten".
Der Fehler liegt in der grundsätzlichen Funktionsweise von GPS begründet. GPS bedeutet nichts anderes als den Versuch, ein Koordinatensystem auf einem Rotationsellipsoid (unseren Planeten) mittels Funksignalen darzustellen. Je mehr Satelliten zur Ermittlung Deiner Position benutzt werden, umso genauer wird die Sache. Die Satelliten bewegen sich auf nicht-geostationären Bahnen um die Erde, d.h. wenn man sie sehen könnte, würde diese sich bewegen. Die Satelliten müssen sowohl untereinander als auch mit den Bodenstationen synchronisiert werden, was die gemeinsam verwendete Zeitbasis für das System angeht. Selbstverständlich gibt es dabei Toleranzen, die allerdings sehr gering sind. Nun breiten sich aber auch Funkwellen nicht mit unendlicher Geschwindigkeit aus, sondern mit Lichtgeschwindigkeit. Dies ist der Grund für Deine Abweichungen, die allerdings minimal sein sollten. Es sind zu 99% immer Laufzeitverzögerungen der Satellitensignale, die Deine GPS-Position "wackeln" lassen.
Zu kompliziert?
Ok, einfacher. Stell Dir vor, Du empfängst die Signale eines der Satelliten über eine Reflexion hier auf der Erde, lass es zum Beispiel eine Häuserwand sein oder ein vorbeifahrender großer LKW. Das Signal des Satelliten kommt in diesem Fall nicht direkt in Deinem Handy an, sondern über einen Umweg. Und Umweg bedeutet immer Laufzeitverzögerung und damit Ungenauigkeit. In Gebirgen ist das manchmal ziemlich vertrackt, es sei denn man steht auf einem Berggipfel. Schon diese kleine Laufzeitverzögerung eines Signals beeinflußt die Genauigkeit Deiner errechneten Position.
Diese Ungenauigkeiten, so gering sie sein mögen, bewirken die Abweichungen vom Ideal. Dazu kommen dann auch noch Sachen wie die Umgebungstemperatur Deiner Hardware und die Qualität des in Deinem Gerät verbauten GPS-Chips und seiner Zeitbasis. Alles hat seine Grenzen. Die zappelnde Anzeige auf Deinem Gerät beruhigst Du am Besten softwaremäßig, in dem Du diese naturgegebene Streuung einfach anders intrerpretierst in Deinem Programm. Deshalb ist es ja nicht gleich ungenauer.
Gruß aus Berlin
BV