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) .
fonte
Respostas:
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.
fonte