Почему высота GPS иногда прыгает?


14

В настоящее время я разрабатываю небольшое приложение на Android, которое использует GPS.

Когда я нажимаю кнопку, я начинаю записывать «трек». Если я хожу вокруг, я каждую секунду сохраняю свою позицию в файл. Это работает отлично, за исключением одного:

Я сохраняю не только долготу и широту, но и текущую высоту. Просматривая данные, я узнал, что высота несколько раз прыгает.

Например, значения высоты выглядят так:

+271,4073616670083; +271,5165709069828; 345,6; +271,58538936056465;

Значения около 270 метров довольно хорошие. Прыжки, как это происходит нерегулярно, но довольно часто (каждые 15 секунд, по крайней мере, 1 прыжок). И значения всегда подпрыгивают примерно до 340 метров.

Во время записи трека с моим приложением я также гулял с приложением под названием NMEA Recorder. Это приложение также записало значения высоты, но они не прыгают как значения, которые я получаю.

Я знаю, что значения высоты GPS (рассчитанные с помощью WGS84-Ellipsoid) не очень точны, но это все еще не объясняет, почему значения иногда перепрыгивают.

Было бы хорошо, если бы кто-нибудь мог сказать мне, почему такие прыжки случаются.


1
А как насчет координат lon / lat? Они также различаются?
РК

У меня не было проблем с долготой или широтой. Иногда прыгала только высота.
Siggy

Ответы:


20

Представьте себе несколько спутников, равномерно распределенных над вами. Теперь выберите только один спутник. Визуализируйте сферу вокруг этого спутника с радиусом вашего точного расстояния от него. Сделайте то же самое для каждого спутника в поле зрения.

То, что вы видите сейчас, это набор сфер, которые пересекаются именно там, где вы стоите. Вот как работает чтение GPS, по сути.

К сожалению, эти сферы пересекаются более чем в одной точке. Как вы увидите на следующем изображении, в зависимости от VDOP возможно получить ложные показания. Обычно конфигурация спутника, которая находится на горизонте довольно низко или высоко, дает вам это чтение.

введите описание изображения здесь

Если вы хотите сделать свое приложение более точным, вам нужно будет проверить качество сигналов и (если возможно) вычисления DOP, прежде чем «доверять» местоположению.


Но разве координаты тоже не будут неправильными?
РК

2
@RK В зависимости от того, как сферы пересекаются, основная часть ошибки может быть вертикальной.
Дэн возится с Firelight

2

Как инженер, работавший со спутниками GPS, я могу дать вам объяснение - это связано с тем, сколько спутников GPS вы получаете сигналы для ваших показаний. В настоящей Глобальной позиционной системе имеется 24 работающих спутника, и в зависимости от вашего местоположения (внутри здания, под деревьями, между высокими зданиями и т. Д. Вы будете выбирать сигналы от 3 или 4 спутников. Сигналы от 3 спутников пересекаются по дуге между их сферами и данные высоты могут быть неточными. Сигналы от 4 спутников достаточно точны, поскольку они пересекаются в точке! Надеюсь, это поможет.


В моей компании у нас есть несколько специально разработанных отраслевых GPS-модулей, и они ВСЕГДА дают правильные местоположения, но в Android в то же время на многих разных устройствах иногда дают места JUMPING около фактического положения. Почему это случилось?
Разработчик
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.