Algorytm Hirvonena

Z testwiki
Wersja z dnia 07:45, 26 kwi 2024 autorstwa imported>JulTrio
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacji Przejdź do wyszukiwania

Szablon:Dopracować

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.

Obliczenia

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

X=(N+h)cosBcosL,
Y=(N+h)cosBsinL,
Z=[N(1e2)+h]sinB.

Długość geodezyjna L

YX=(N+h)cosBsinL(N+h)cosBcosL=tg L,
L=arctg YX.

Szerokość geodezyjna B

ZX2+Y2=[N(1e2)+h]sinB(N+H)cosB=N+Ne2+hN+htg B=(N+hN+hNe2N+h)tg B,
ZX2+Y2=(1e2NN+h)tg B,
tg B=ZX2+Y2(1e2NN+h)1.

Ostatecznie:

tg B(k+1)=ZX2+Y2(1e2NkNk+hk)1

przy czym:

tg B(k=0)=ZX2+Y2(1e2)1.

Wysokość elipsoidalna (h)

X2+Y2=(N+h)cosB,
X2+Y2cosB=N+h,
h=X2+Y2cosBN.

Algorytm

  • 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.