Algorytm Hirvonena


Algorytm Hirvonena w encyklopedii

Z Wikipedii, wolnej encyklopedii Przejdź do nawigacji Przejdź do wyszukiwania Współrzędne geodezyjne i kartezjańskie

Algorytm Hirvonena – algorytm służący do transformacji współrzędnych ortokartezjańskich (prostokątnych) x, y, z na współrzędne geodezyjne B, L, h. Jest to proces iteracyjny. W wyniku 3-4-krotnego powtarzania procedury można przeliczyć współrzędne na poziomie dokładności 1 cm.

Spis treści

Obliczenia | edytuj kod

wychodzimy ze wzorów na x,y,z:

X = ( N + h ) cos B cos L , {\displaystyle X=(N+h)\cos B\cos L,} Y = ( N + h ) cos B sin L , {\displaystyle Y=(N+h)\cos B\sin L,} Z = N ( 1 e 2 ) + h sin B . {\displaystyle Z=[N(1-e^{2})+h]\sin B.}

Długość geodezyjna L | edytuj kod

Y X = ( N + h ) cos B sin L ( N + h ) cos B cos L = tg  L , {\displaystyle {\frac {Y}{X}}={\frac {(N+h)\cos B\sin L}{(N+h)\cos B\cos L}}={\text{tg }}L,} L = arctg  Y X . {\displaystyle L={\text{arctg }}{\frac {Y}{X}}.}

Szerokość geodezyjna B | edytuj kod

Z X 2 + Y 2 = N ( 1 e 2 ) + h sin B ( N + H ) cos B = N + N e 2 + h N + h tg  B = ( N + h N + h N e 2 N + h ) tg  B , {\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,} Z X 2 + Y 2 = ( 1 e 2 N N + h ) tg  B , {\displaystyle {\frac {Z}{\sqrt {X^{2}+Y^{2}}}}=\left(1-e^{2}{\frac {N}{N+h}}\right){\text{tg }}B,} tg  B = Z X 2 + Y 2 ( 1 e 2 N N + h ) 1 . {\displaystyle {\text{tg }}B={\frac {Z}{\sqrt {X^{2}+Y^{2}}}}\left(1-e^{2}{\frac {N}{N+h}}\right)^{-1}.}

Ostatecznie:

tg  B ( k + 1 ) = Z X 2 + Y 2 ( 1 e 2 N k N k + h k ) 1 {\displaystyle {\text{tg }}B_{(k+1)}={\frac {Z}{\sqrt {X^{2}+Y^{2}}}}\left(1-e^{2}{\frac {N_{k}}{N_{k}+h_{k}}}\right)^{-1}}

przy czym:

tg  B ( k = 0 ) = Z X 2 + Y 2 ( 1 e 2 ) 1 . {\displaystyle {\text{tg }}B^{(k=0)}={\frac {Z}{\sqrt {X^{2}+Y^{2}}}}(1-e^{2})^{-1}.}

Wysokość elipsoidalna (h) | edytuj kod

X 2 + Y 2 = ( N + h ) cos B , {\displaystyle {\sqrt {X^{2}+Y^{2}}}=(N+h)\cos B,} X 2 + Y 2 cos B = N + h , {\displaystyle {\sqrt {X^{2}+Y^{2}}}\cos B=N+h,} h = X 2 + Y 2 cos B N . {\displaystyle h={\frac {\sqrt {X^{2}+Y^{2}}}{\cos B}}-N.}

Algorytm | edytuj kod

  • obliczenie długości geodezyjnej L,
  • obliczenie szerokości geodezyjnej, B dla k = 0,
  • Na podstawie tego B0 liczymy N0 i h0. Następnie mając dane N0 i h0 liczymy na ich podstawie B1. Na podstawie B1 liczymy N1 i h1 itd. Zazwyczaj wystarczają 3 iteracje. Proces jest powtarzany do uzyskania zadowalającej dokładności.
Na podstawie artykułu: "Algorytm Hirvonena" pochodzącego z Wikipedii
OryginałEdytujHistoria i autorzy