pygeodesy 24.3.24__py2.py3-none-any.whl → 24.4.2__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {PyGeodesy-24.3.24.dist-info → PyGeodesy-24.4.2.dist-info}/METADATA +2 -2
- {PyGeodesy-24.3.24.dist-info → PyGeodesy-24.4.2.dist-info}/RECORD +11 -11
- pygeodesy/__init__.py +1 -1
- pygeodesy/azimuthal.py +2 -2
- pygeodesy/basics.py +1 -1
- pygeodesy/fmath.py +150 -153
- pygeodesy/fsums.py +369 -329
- pygeodesy/lazily.py +2 -2
- pygeodesy/resections.py +23 -24
- {PyGeodesy-24.3.24.dist-info → PyGeodesy-24.4.2.dist-info}/WHEEL +0 -0
- {PyGeodesy-24.3.24.dist-info → PyGeodesy-24.4.2.dist-info}/top_level.txt +0 -0
pygeodesy/lazily.py
CHANGED
|
@@ -284,7 +284,7 @@ _ALL_LAZY = _NamedEnum_RO(_name='_ALL_LAZY',
|
|
|
284
284
|
'FrechetVincentys', 'Frechet6Tuple',
|
|
285
285
|
'frechet_'),
|
|
286
286
|
fstats=_i('Fcook', 'Flinear', 'Fwelford'),
|
|
287
|
-
fsums=_i('Fsum', 'Fsum2Tuple', 'ResidualError',
|
|
287
|
+
fsums=_i('Fsum', 'DivMod2Tuple', 'Fsum2Tuple', 'ResidualError',
|
|
288
288
|
'fsum', 'fsum_', 'fsumf_', 'fsum1', 'fsum1_', 'fsum1f_'),
|
|
289
289
|
gars=_i('Garef', 'GARSError'),
|
|
290
290
|
geodesicw=_i('Geodesic', 'GeodesicLine', 'Geodesic_WGS84'),
|
|
@@ -504,7 +504,7 @@ class _ALL_MODS(object):
|
|
|
504
504
|
_ALL_MODS = _ALL_MODS() # PYCHOK singleton
|
|
505
505
|
|
|
506
506
|
__all__ = _ALL_LAZY.lazily
|
|
507
|
-
__version__ = '24.
|
|
507
|
+
__version__ = '24.03.29'
|
|
508
508
|
|
|
509
509
|
|
|
510
510
|
def _ALL_OTHER(*objs):
|
pygeodesy/resections.py
CHANGED
|
@@ -33,7 +33,7 @@ from pygeodesy.vector3d import _otherV3d, Vector3d
|
|
|
33
33
|
from math import cos, atan2, degrees, fabs, radians, sin, sqrt
|
|
34
34
|
|
|
35
35
|
__all__ = _ALL_LAZY.resections
|
|
36
|
-
__version__ = '24.03.
|
|
36
|
+
__version__ = '24.03.26'
|
|
37
37
|
|
|
38
38
|
_concyclic_ = 'concyclic'
|
|
39
39
|
_PA_ = 'PA'
|
|
@@ -970,44 +970,43 @@ def wildberger3(a, b, c, alpha, beta, R3=min):
|
|
|
970
970
|
def _s(x):
|
|
971
971
|
return sin(x)**2
|
|
972
972
|
|
|
973
|
-
def _vpa(
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
973
|
+
def _vpa(r3, q2, q3, s2, s3):
|
|
974
|
+
r1 = s2 * q3 / s3
|
|
975
|
+
r = r1 * r3 * _4_0
|
|
976
|
+
n = (r - _F1(r1, r3, -q2)**2).fover(s3)
|
|
977
|
+
if n < 0 or r < EPS0:
|
|
977
978
|
raise ValueError(_coincident_)
|
|
978
979
|
return sqrt((n / r) * q3) if n else _0_0
|
|
979
980
|
|
|
980
981
|
try:
|
|
981
|
-
a, b, c, da, db =
|
|
982
|
-
if min(
|
|
982
|
+
a, b, c, da, db = q = map1(float, a, b, c, alpha, beta)
|
|
983
|
+
if min(q) < 0:
|
|
983
984
|
raise ValueError(_negative_)
|
|
984
985
|
|
|
985
|
-
ra, rb = radians(da), radians(db)
|
|
986
|
-
s1, s2, s3 = s = map1(_s, rb, ra, ra + rb) # rb, ra!
|
|
987
|
-
if min(s) < EPS02:
|
|
988
|
-
raise ValueError(_or(_coincident_, _colinear_))
|
|
989
|
-
|
|
990
986
|
q1, q2, q3 = q = a**2, b**2, c**2
|
|
991
987
|
if min(q) < EPS02:
|
|
992
988
|
raise ValueError(_coincident_)
|
|
993
989
|
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
d0 =
|
|
990
|
+
ra, rb = map1(radians, da, db)
|
|
991
|
+
s1, s2, s3 = s = map1(_s, rb, ra, ra + rb) # rb, ra!
|
|
992
|
+
if min(s) < EPS02:
|
|
993
|
+
raise ValueError(_or(_coincident_, _colinear_))
|
|
994
|
+
|
|
995
|
+
q4 = hypot2_(*q) * _2_0 # a**4 + ...
|
|
996
|
+
Qs = _F1(*q) # == hypot2_(a, b, c)
|
|
997
|
+
d0 = (Qs**2 - q4).fmul(s1 * s2).fover(s3)
|
|
998
|
+
if d0 < 0:
|
|
999
|
+
raise ValueError(_negative_)
|
|
1000
|
+
s += _F1(*s), # == fsum1(s),
|
|
1001
|
+
C0 = Fdot(s, q1, q2, q3, -Qs * _0_5)
|
|
1002
|
+
r3 = C0.fover(-s3) # C0 /= -s3
|
|
1002
1003
|
if d0 > EPS02: # > c0
|
|
1003
1004
|
_xcallable(R3=R3)
|
|
1004
1005
|
d0 = sqrt(d0)
|
|
1005
1006
|
r3 = R3(float(C0 + d0), float(C0 - d0)) # XXX min or max
|
|
1006
|
-
elif d0 < 0:
|
|
1007
|
-
raise ValueError(_negative_)
|
|
1008
1007
|
|
|
1009
|
-
pa = _vpa(
|
|
1010
|
-
pb = _vpa(
|
|
1008
|
+
pa = _vpa(r3, q2, q3, s2, s3)
|
|
1009
|
+
pb = _vpa(r3, q1, q3, s1, s3)
|
|
1011
1010
|
pc = favg(_triSide2(b, pa, ra).a,
|
|
1012
1011
|
_triSide2(a, pb, rb).a)
|
|
1013
1012
|
return Survey3Tuple(pa, pb, pc, name=wildberger3.__name__)
|
|
File without changes
|
|
File without changes
|