Algorytm Hirvonena
Algorytm Hirvonena to metoda, która umożliwia przekształcanie współrzędnych ortokartezjańskich (prostokątnych) x, y, z na współrzędne geodezyjne B, L, h. Proces ten jest iteracyjny, a po przeprowadzeniu 3-4 powtórzeń procedury można uzyskać dokładność na poziomie 1 cm.
Obliczenia
Rozpoczynamy od wzorów na x, y, z:
X = (N + h) cos B cos L,
Y = (N + h) cos B sin L,
Z = [N (1 – e²) + h] sin B.
Długość geodezyjna L
Istnieje relacja, która pozwala obliczyć długość geodezyjną L:
{\displaystyle {\frac {Y}{X}}={\frac {(N+h)\cos B\sin L}{(N+h)\cos B\cos L}}={\text{tg }}L,}
Stąd wynika, że:
L = arctg {\frac {Y}{X}}.
Szerokość geodezyjna B
Możemy obliczyć szerokość geodezyjną B z następującego wzoru:
{\displaystyle {\frac {Z}{\sqrt {X^{2}+Y^{2}}}}={\frac {[N(1-e^{2})+h]\sin B}{(N+H)\cos B}}={\frac {N+Ne^{2}+h}{N+h}}{\text{tg }}B=\left({\frac {N+h}{N+h}}-{\frac {Ne^{2}}{N+h}}\right){\text{tg }}B,}
Ostatecznie uzyskujemy:
{\text{tg }}B={\frac {Z}{\sqrt {X^{2}+Y^{2}}}}\left(1-e^{2}{\frac {N}{N+h}}\right)^{-1.
Wysokość elipsoidalna (h)
Obliczamy wysokość elipsoidalną h z następującego wzoru:
{\displaystyle h={\frac {\sqrt {X^{2}+Y^{2}}}{\cos B}}-N.}
Algorytm
W procesie obliczeń najpierw obliczamy długość geodezyjną L, następnie szerokość geodezyjną B dla k = 0. Na podstawie uzyskanej wartości B0 obliczamy N0 i h0. Następnie, mając N0 i h0, przystępujemy do obliczenia B1. Na podstawie B1 obliczamy N1 i h1 oraz kontynuujemy ten proces. Zazwyczaj wystarczają 3 iteracje, a proces powtarzamy, aż osiągniemy zadowalającą dokładność.