Files
Masterprojekt/phi_ellipse.py
2025-10-15 11:32:56 +02:00

56 lines
1.5 KiB
Python

import winkelumrechnungen as wu
def polyapp_tscheby_hayford(s: float) -> float:
"""
Berechnung der ellipsoidisch geodätischen Breite.
Polynomapproximation mittels Tschebyscheff-Polynomen.
Auf dem Hayford-Ellipsoid.
:param s: Strecke auf einer Ellipse vom Äquator aus
:type s: float
:return: ellipsoidisch geodätische Breite
:rtype: float
"""
c0 = 1
c1 = -0.00837809325
c2 = 0.00428127367
c3 = -0.00114523986
c4 = 0.00023219707
c5 = -0.00004421222
c6 = 0.00000570244
alpha = wu.gms2rad([0, 0, 325643.97199])
s90 = 10002288.2990
xi = s/s90
phi = alpha * xi * (c0*xi**(2*0) + c1*xi**(2*1) + c2*xi**(2*2) + c3*xi**(2*3) +
c4*xi**(2*4) + c5*xi**(2*5) + c6*xi**(2*6))
return phi
def polyapp_tscheby_bessel(s: float) -> float:
"""
Berechnung der ellipsoidisch geodätischen Breite.
Polynomapproximation mittels Tschebyscheff-Polynomen.
Auf dem Bessel-Ellipsoid.
:param s: Strecke auf einer Ellipse vom Äquator aus
:type s: float
:return: ellipsoidisch geodätische Breite
:rtype: float
"""
c0 = 1
c1 = -0.00831729565
c2 = 0.00424914906
c3 = -0.00113566119
c4 = 0.00022976983
c5 = -0.00004363980
c6 = 0.00000562025
alpha = wu.gms2rad([0, 0, 325632.08677])
s90 = 10000855.7644
xi = s/s90
phi = alpha * xi * (c0*xi**(2*0) + c1*xi**(2*1) + c2*xi**(2*2) + c3*xi**(2*3) +
c4*xi**(2*4) + c5*xi**(2*5) + c6*xi**(2*6))
return phi