Warum springt die GPS-Höhe manchmal?


14

Ich entwickle gerade eine kleine Anwendung für Android, die GPS verwendet.

Wenn ich auf einen Button klicke, beginne ich eine "Spur" aufzunehmen. Wenn ich herumlaufe, speichere ich meine Position jede Sekunde in einer Datei. Das funktioniert bis auf eines perfekt:

Ich speichere nicht nur Längen- und Breitengrade, sondern auch die aktuelle Höhe. Beim Durchsehen der Daten erkannte ich, dass die Höhe einige Male springt.

Zum Beispiel sehen die Höhenwerte so aus:

271.4073616670083; 271.5165709069828; 345,6; 271.58538936056465;

Die Werte um 270 Meter sind ziemlich gut. Solche Sprünge passieren unregelmäßig, aber ziemlich oft (alle 15 Sekunden gibt es mindestens einen Sprung). Und die Werte springen immer auf rund 340 Meter.

Während ich den Track mit meiner Anwendung aufzeichnete, bin ich auch mit einer App namens NMEA Recorder herumgelaufen. Diese App hat auch die Höhenwerte aufgezeichnet, aber sie springen nicht so wie die Werte, die ich erhalte.

Ich weiß, dass die Höhenwerte von GPS (berechnet vom WGS84-Ellipsoid) nicht sehr genau sind, aber das erklärt immer noch nicht, warum die Werte manchmal sprunghaft sind.

Wäre nett, wenn mir jemand sagen könnte, warum solche Sprünge passieren.


1
Was ist mit den Lon / Lat-Koordinaten? Variieren sie auch?
RK

Ich hatte noch keine Probleme mit Längen- oder Breitengraden. Es war nur die Höhe, die manchmal sprang.
Siggy

Antworten:


20

Stellen Sie sich mehrere Satelliten vor, die gleichmäßig über Ihnen verteilt sind. Wählen Sie jetzt nur einen Satelliten aus. Stellen Sie sich eine um diesen Satelliten zentrierte Kugel vor, deren Radius genau Ihrem Abstand entspricht. Machen Sie dasselbe für jeden sichtbaren Satelliten.

Was Sie jetzt sehen, sind ein paar Kugeln, die sich genau dort schneiden, wo Sie stehen. So funktioniert im Wesentlichen ein GPS-Messwert.

Leider schneiden sich diese Kugeln an mehr als einem Punkt. Wie Sie in der folgenden Abbildung sehen werden, ist es abhängig vom VDOP möglich, einen falschen Messwert zu erhalten. Normalerweise liefert eine Satellitenkonfiguration, die ziemlich niedrig oder hoch am Horizont ist, diesen Messwert.

Bildbeschreibung hier eingeben

Wenn Sie Ihre Anwendung genauer gestalten möchten, müssen Sie die Qualität der Signale und (falls verfügbar) die DOP-Berechnungen überprüfen, bevor Sie dem Standort vertrauen.


Aber sind dann nicht auch die Koordinaten falsch?
RK

2
@RK Abhängig davon, wie sich die Kugeln schneiden, kann der Hauptteil des Fehlers vertikal sein.
Dan Neely

2

Als Ingenieur, der mit GPS-Satelliten gearbeitet hat, kann ich Ihnen eine Erklärung geben - es hängt damit zusammen, von wie vielen GPS-Satelliten Sie Signale für Ihre Messungen empfangen. Das gegenwärtige globale Positionssystem enthält 24 Satelliten. Abhängig von Ihrem Standort (innerhalb eines Gebäudes, unter Bäumen, zwischen hohen Gebäuden usw.) werden Signale von 3 oder 4 Satelliten ausgewählt. Signale von 3 Satelliten kreuzen sich in einem Bogen zwischen ihren Kugeln und die Höhendaten sind möglicherweise nicht genau. Signale von 4 Satelliten sind ziemlich genau, da sie sich an einem Punkt schneiden! Hoffe, das hilft.


In meiner Firma gibt es einige speziell entwickelte Industrie-GPS-Module, die IMMER die korrekten Standorte angeben, aber in Android zur gleichen Zeit auf vielen verschiedenen Geräten manchmal SPRINGENDE Standorte in der Nähe der tatsächlichen Position. Warum ist es passiert?
Entwickler
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.