Características de diferentes métodos para converter ECEF em LLA

12

Estou tentando converter coordenadas ECEF (Earth Centered, Earth Fixed), definidas em X, Y, Z, centralizadas em (0,0,0) em LLA (Latitude, Longitude, Altitude). Existem alguns métodos que encontrei na internet (informe-me se existem métodos melhores). Ambos estão claramente descritos neste documento, nas páginas 3-4:

http://www.microem.ru/pages/u_blox/tech/dataconvert/GPS.G1-X-00006.pdf

Um usa um método iterativo e o outro é uma solução de formulário fechado. Gostaria de saber qual método usar para o meu aplicativo. Dois critérios relevantes são velocidade (tempo de computação) e precisão . Os algoritmos não são difíceis de implementar, mas não acho fácil comparar os dois ... Por exemplo, sinto que a precisão varia de acordo com a coordenada ECEF de entrada.

Então, alguém tem mais informações sobre cada método? Seria ótimo se eu conseguisse qual deles é mais rápido (adivinhando o formulário fechado) e uma precisão aproximada que posso esperar de cada um (por exemplo, a quantos metros do LLA real posso esperar que minha resposta seja ou algo parecido) .

Pris
fonte

Respostas:

10

Você pode comparar os dois. Na maioria das aplicações, suspeito que o segundo método (direto) seja o escolhido.

A precisão do primeiro método (iterativo) depende da precisão com a qual você faz os cálculos e quando você decide parar de iterar. Portanto, pode ser tão preciso quanto o segundo método para todas as entradas em que ambas são válidas (o primeiro método funciona apenas para alturas terrestres, não astronômicas).

O que é mais rápido depende do ambiente de programação, da arquitetura de computação e da precisão necessária. (Nos meus testes com o Mathematica, o segundo método direto é na verdade duas vezes mais rápido que o primeiro, praticamente não importa quanta imprecisão foi tolerada no método iterativo.) Como os dois métodos exigem a mesma quantidade de computação, mas o primeiro precisa iterar pelo menos uma vez; na verdade, pode ser mais lento. Se você estiver fazendo apenas as conversões no nível do mar (h = 0), o método iterativo poderá ser um pouco mais rápido, mas a diferença não será grande (eu ficaria surpreso com uma vantagem dupla).

Observe que a "fórmula fechada" (para o segundo método) é um pouco enganadora: quando você calcula a altura h , precisa obter o raio da curvatura N em termos da latitude que você acabou de calcular ( phi ) . Para fazer isso, use a fórmula para N encontrada na seção anterior.

whuber
fonte