В настоящее время я разрабатываю небольшое приложение на Android, которое использует GPS.
Когда я нажимаю кнопку, я начинаю записывать «трек». Если я хожу вокруг, я каждую секунду сохраняю свою позицию в файл. Это работает отлично, за исключением одного:
Я сохраняю не только долготу и широту, но и текущую высоту. Просматривая данные, я узнал, что высота несколько раз прыгает.
Например, значения высоты выглядят так:
+271,4073616670083; +271,5165709069828; 345,6; +271,58538936056465;
Значения около 270 метров довольно хорошие. Прыжки, как это происходит нерегулярно, но довольно часто (каждые 15 секунд, по крайней мере, 1 прыжок). И значения всегда подпрыгивают примерно до 340 метров.
Во время записи трека с моим приложением я также гулял с приложением под названием NMEA Recorder. Это приложение также записало значения высоты, но они не прыгают как значения, которые я получаю.
Я знаю, что значения высоты GPS (рассчитанные с помощью WGS84-Ellipsoid) не очень точны, но это все еще не объясняет, почему значения иногда перепрыгивают.
Было бы хорошо, если бы кто-нибудь мог сказать мне, почему такие прыжки случаются.
Ответы:
Представьте себе несколько спутников, равномерно распределенных над вами. Теперь выберите только один спутник. Визуализируйте сферу вокруг этого спутника с радиусом вашего точного расстояния от него. Сделайте то же самое для каждого спутника в поле зрения.
То, что вы видите сейчас, это набор сфер, которые пересекаются именно там, где вы стоите. Вот как работает чтение GPS, по сути.
К сожалению, эти сферы пересекаются более чем в одной точке. Как вы увидите на следующем изображении, в зависимости от VDOP возможно получить ложные показания. Обычно конфигурация спутника, которая находится на горизонте довольно низко или высоко, дает вам это чтение.
Если вы хотите сделать свое приложение более точным, вам нужно будет проверить качество сигналов и (если возможно) вычисления DOP, прежде чем «доверять» местоположению.
источник
Как инженер, работавший со спутниками GPS, я могу дать вам объяснение - это связано с тем, сколько спутников GPS вы получаете сигналы для ваших показаний. В настоящей Глобальной позиционной системе имеется 24 работающих спутника, и в зависимости от вашего местоположения (внутри здания, под деревьями, между высокими зданиями и т. Д. Вы будете выбирать сигналы от 3 или 4 спутников. Сигналы от 3 спутников пересекаются по дуге между их сферами и данные высоты могут быть неточными. Сигналы от 4 спутников достаточно точны, поскольку они пересекаются в точке! Надеюсь, это поможет.
источник