Características de diferentes métodos para convertir ECEF a LLA

12

Estoy tratando de convertir las coordenadas ECEF (Earth Centrado, Earth Fixed), que se definen en X, Y, Z, centradas en (0,0,0) a LLA (Latitud, Longitud, Altitud). Hay un par de métodos que encontré en Internet (por favor, avíseme si hay mejores métodos). Ambos se describen claramente en este documento, en las páginas 3-4:

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

Uno usa un método iterativo y el otro es una solución de forma cerrada. Me gustaría saber qué método utilizar para mi aplicación. Dos criterios relevantes son la velocidad (tiempo de cálculo) y la precisión . Los algoritmos no son difíciles de implementar, pero no creo que sea sencillo comparar los dos ... Por ejemplo, siento que la precisión variará según la coordenada ECEF de entrada.

Entonces, ¿alguien tiene más información sobre cada método? Sería genial si pudiera obtener cuál es más rápido (adivinar forma cerrada) y una precisión aproximada que puedo esperar de cada uno (es decir, dentro de cuántos metros del LLA real puedo esperar que sea mi respuesta o algo por el estilo) .

Pris
fuente

Respuestas:

10

Usted puede comparar los dos. En la mayoría de las aplicaciones, sospecho que el segundo método (directo) será el que elija.

La precisión del primer método (iterativo) depende de la precisión con la que realice los cálculos y de cuándo decida dejar de iterar. Por lo tanto, puede hacerse tan preciso como el segundo método para todas las entradas donde ambas son válidas (el primer método funciona solo para alturas terrestres, no para las astronómicas).

Lo que es más rápido depende del entorno de programación, la arquitectura informática y la precisión que se necesita. (En mis pruebas con Mathematica, el segundo método directo es en realidad el doble de rápido que el primero, prácticamente sin importar cuánta imprecisión se haya tolerado en el método iterativo). Debido a que ambos métodos requieren aproximadamente la misma cantidad de cómputo pero primero tiene que iterar al menos una vez, en realidad puede ser más lento. Si solo está haciendo las conversiones a nivel del mar (h = 0), el método iterativo podría ser un poco más rápido, pero la diferencia no será enorme (me sorprendería una doble ventaja).

Por cierto, tenga en cuenta que la "fórmula cerrada" (para el segundo método) es un poco engañosa: cuando llega a calcular la altura h , necesita obtener el radio de curvatura N en términos de la latitud que acaba de calcular ( phi ) . Para hacer eso, use la fórmula para N que se encuentra en la sección anterior.

whuber
fuente