Por que a altitude do GPS salta às vezes?

14

Atualmente, estou desenvolvendo um pequeno aplicativo no Android que usa GPS.

Quando clico em um botão, começo a gravar uma "faixa". Se eu andar por aí, salvo minha posição a cada segundo em um arquivo. Isso funciona perfeitamente, exceto por uma coisa:

Não só guardo longitude e latitude, mas também a altitude atual. Examinando os dados, reconheci que a altitude salta algumas vezes.

Por exemplo, os valores de altitude são assim:

271.4073616670083; 271.5165709069828; 345,6; 271.58538936056465;

Os valores em torno de 270 metros são muito bons. Saltos como estes acontecem irregularmente, mas com bastante frequência (a cada 15 segundos, há pelo menos 1 salto). E os valores sempre saltam para algo em torno de 340 metros.

Enquanto gravava a faixa com meu aplicativo, também andava por aí com um aplicativo chamado NMEA Recorder. Este aplicativo também registrou os valores de altitude, mas eles não saltam como os valores que recebo.

Eu sei que os valores de altitude do GPS (calculados pelo WGS84-Ellipsoid) não são muito precisos, mas isso ainda não explica por que os valores saltaram algumas vezes.

Seria bom se alguém pudesse me dizer por que saltos como esses acontecem.

Siggy
fonte
1
E as coordenadas lon / lat? Eles também variam?
RK
Ainda não tive problemas com longitude ou latitude. Foi apenas a altitude que saltou às vezes.
Siggy

Respostas:

20

Imagine vários satélites espalhados uniformemente acima de você. Agora escolha apenas um satélite. Visualize uma esfera centrada em torno desse satélite com um raio de sua distância exata dele. Faça o mesmo para cada satélite em exibição.

O que você está vendo agora é um monte de esferas que se cruzam exatamente onde você está. É assim que uma leitura de GPS funciona, essencialmente.

Infelizmente, essas esferas se cruzam em mais de um ponto. Como você verá na imagem a seguir, é possível obter uma leitura falsa, dependendo do VDOP. Geralmente, uma configuração de satélite bastante baixa ou alta no horizonte fornecerá essa leitura.

insira a descrição da imagem aqui

Se você quiser tornar seu aplicativo mais preciso, precisará verificar a qualidade dos sinais e (se disponível) os cálculos de DOP antes de 'confiar' no local.

nagytech
fonte
Mas então, as coordenadas não estarão erradas também?
RK
2
@RK Dependendo de como as esferas se cruzam, a maior parte do erro pode ser vertical.
Dan is Fiddling por Firelight
2

Como um engenheiro que trabalhou com satélites GPS, posso lhe dar uma explicação - tem a ver com a quantidade de satélites GPS dos quais você está recebendo sinais para suas leituras. Existem 24 satélites em funcionamento no atual Sistema Posicional Global e, dependendo da sua localização (dentro de um prédio, debaixo de árvores, entre prédios altos, etc., você captará sinais de 3 ou 4 satélites. Sinais de 3 satélites se cruzam no arco entre suas esferas e os dados de elevação podem não ser precisos.Os sinais de 4 satélites são bastante precisos quando se cruzam em um ponto! Espero que isso ajude.

Steve
fonte
Na minha empresa, temos alguns módulos de GPS personalizados da indústria e eles sempre fornecem locais corretos, mas no Android ao mesmo tempo em muitos dispositivos diferentes, às vezes, JUMPING locais próximos à posição de fato. Por que isso aconteceu?
Desenvolvedor