Charakterystyka różnych metod konwersji ECEF na LLA

12

Próbuję przekonwertować współrzędne ECEF (Earth Centered, Earth Fixed), które są zdefiniowane w X, Y, Z, wyśrodkowane w (0,0,0) na LLA (szerokość, długość i wysokość). Istnieje kilka metod, które znalazłem w Internecie (daj mi znać, czy są lepsze metody). Oba są wyraźnie opisane w tym dokumencie na stronach 3-4:

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

Jedna wykorzystuje metodę iteracyjną, a druga jest rozwiązaniem w formie zamkniętej. Chciałbym wiedzieć, której metody użyć w mojej aplikacji. Dwa istotne kryteria to szybkość (czas obliczeń) i dokładność . Algorytmy nie są trudne do wdrożenia, ale nie sądzę, że porównanie tych dwóch jest proste ... Na przykład wydaje mi się, że dokładność będzie się różnić w zależności od wejściowej współrzędnej ECEF.

Czy ktoś ma więcej informacji na temat każdej metody? Byłoby wspaniale, gdybym mógł uzyskać, który z nich jest szybszy (zgadywanie formy zamkniętej) i z grubsza dokładność, jakiej mogę się spodziewać po każdym z nich (tj. W ilu metrach rzeczywistej LLA mogę oczekiwać mojej odpowiedzi lub czegoś podobnego) .

Pris
źródło

Odpowiedzi:

10

Państwo może porównać dwa. Podejrzewam, że w większości aplikacji wybierana będzie druga (bezpośrednia) metoda.

Dokładność pierwszej (iteracyjnej) metody zależy od dokładności wykonywania obliczeń i decyzji o zakończeniu iteracji. Dlatego może być tak dokładny jak druga metoda dla wszystkich danych wejściowych, w których oba są ważne (pierwsza metoda działa tylko na wysokościach lądowych, a nie astronomicznych).

To, co jest szybsze, zależy od środowiska programowania, architektury obliczeniowej i wymaganej dokładności. (W moich testach z Mathematica druga metoda bezpośrednia jest w rzeczywistości dwa razy szybsza niż pierwsza, praktycznie bez względu na to, jak duża niedokładność była tolerowana w metodzie iteracyjnej.) Ponieważ obie metody obliczają tyle samo obliczeń, ale najpierw trzeba powtórzyć co najmniej raz, w rzeczywistości może być wolniejszy. Jeśli wykonujesz konwersje tylko na poziomie morza (h = 0), metoda iteracyjna może być nieco szybsza, ale różnica nie będzie ogromna (byłbym zaskoczony podwójną przewagą).

Przy okazji, zwróć uwagę, że „formuła zamknięta” (dla drugiej metody) jest nieco zwodnicza: kiedy przechodzisz do obliczenia wysokości h , musisz uzyskać promień krzywizny N pod względem właśnie obliczonej szerokości geograficznej ( phi ) . Aby to zrobić, użyj wzoru na N znajdującego się w poprzedniej sekcji.

Whuber
źródło