56 lines
1.5 KiB
Python
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
|