pygeodesy 24.6.9__py2.py3-none-any.whl → 24.7.7__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.6.9.dist-info → PyGeodesy-24.7.7.dist-info}/METADATA +2 -2
- PyGeodesy-24.7.7.dist-info/RECORD +117 -0
- pygeodesy/__init__.py +39 -32
- pygeodesy/__main__.py +6 -1
- pygeodesy/albers.py +2 -2
- pygeodesy/auxilats/__init__.py +1 -1
- pygeodesy/auxilats/auxAngle.py +40 -39
- pygeodesy/auxilats/auxDLat.py +3 -2
- pygeodesy/auxilats/auxLat.py +16 -18
- pygeodesy/auxilats/auxily.py +1 -1
- pygeodesy/azimuthal.py +10 -10
- pygeodesy/basics.py +16 -4
- pygeodesy/booleans.py +4 -4
- pygeodesy/cartesianBase.py +11 -14
- pygeodesy/css.py +14 -18
- pygeodesy/datums.py +6 -6
- pygeodesy/deprecated/__init__.py +1 -1
- pygeodesy/deprecated/classes.py +25 -4
- pygeodesy/deprecated/datum.py +3 -3
- pygeodesy/deprecated/functions.py +6 -8
- pygeodesy/dms.py +23 -27
- pygeodesy/ecef.py +4 -4
- pygeodesy/elevations.py +4 -4
- pygeodesy/ellipsoidalBase.py +23 -28
- pygeodesy/ellipsoidalBaseDI.py +19 -23
- pygeodesy/ellipsoidalExact.py +3 -3
- pygeodesy/ellipsoidalGeodSolve.py +15 -23
- pygeodesy/ellipsoidalKarney.py +37 -60
- pygeodesy/ellipsoidalNvector.py +38 -44
- pygeodesy/ellipsoidalVincenty.py +11 -14
- pygeodesy/ellipsoids.py +107 -101
- pygeodesy/errors.py +109 -48
- pygeodesy/etm.py +32 -44
- pygeodesy/formy.py +55 -58
- pygeodesy/frechet.py +18 -20
- pygeodesy/fsums.py +3 -3
- pygeodesy/gars.py +3 -4
- pygeodesy/geodesici.py +1696 -0
- pygeodesy/geodesicw.py +15 -15
- pygeodesy/geodesicx/__init__.py +4 -4
- pygeodesy/geodesicx/gx.py +34 -55
- pygeodesy/geodesicx/gxbases.py +20 -8
- pygeodesy/geodesicx/gxline.py +93 -88
- pygeodesy/geodsolve.py +108 -59
- pygeodesy/geohash.py +26 -34
- pygeodesy/geoids.py +28 -37
- pygeodesy/hausdorff.py +17 -18
- pygeodesy/heights.py +2 -2
- pygeodesy/internals.py +46 -13
- pygeodesy/interns.py +2 -2
- pygeodesy/karney.py +78 -15
- pygeodesy/ktm.py +13 -16
- pygeodesy/latlonBase.py +17 -19
- pygeodesy/lazily.py +28 -25
- pygeodesy/lcc.py +28 -31
- pygeodesy/ltp.py +7 -8
- pygeodesy/ltpTuples.py +71 -73
- pygeodesy/mgrs.py +8 -9
- pygeodesy/named.py +19 -10
- pygeodesy/nvectorBase.py +9 -10
- pygeodesy/osgr.py +9 -9
- pygeodesy/points.py +6 -6
- pygeodesy/rhumb/__init__.py +1 -1
- pygeodesy/rhumb/aux_.py +5 -5
- pygeodesy/rhumb/bases.py +30 -31
- pygeodesy/rhumb/ekx.py +3 -4
- pygeodesy/rhumb/solve.py +21 -22
- pygeodesy/solveBase.py +177 -123
- pygeodesy/sphericalBase.py +10 -11
- pygeodesy/sphericalNvector.py +13 -13
- pygeodesy/sphericalTrigonometry.py +86 -97
- pygeodesy/streprs.py +4 -34
- pygeodesy/triaxials.py +48 -43
- pygeodesy/units.py +208 -275
- pygeodesy/unitsBase.py +115 -107
- pygeodesy/ups.py +26 -31
- pygeodesy/utily.py +8 -8
- pygeodesy/utm.py +35 -40
- pygeodesy/utmups.py +43 -46
- pygeodesy/utmupsBase.py +8 -9
- pygeodesy/vector3d.py +26 -27
- pygeodesy/vector3dBase.py +6 -7
- pygeodesy/webmercator.py +19 -21
- pygeodesy/wgrs.py +18 -20
- PyGeodesy-24.6.9.dist-info/RECORD +0 -116
- {PyGeodesy-24.6.9.dist-info → PyGeodesy-24.7.7.dist-info}/WHEEL +0 -0
- {PyGeodesy-24.6.9.dist-info → PyGeodesy-24.7.7.dist-info}/top_level.txt +0 -0
pygeodesy/frechet.py
CHANGED
|
@@ -84,26 +84,24 @@ than the well-known C{Hausdorff} distance, see the L{hausdorff} module.
|
|
|
84
84
|
# from pygeodesy.basics import isscalar # from .points
|
|
85
85
|
from pygeodesy.constants import EPS, EPS1, INF, NINF
|
|
86
86
|
from pygeodesy.datums import _ellipsoidal_datum, _WGS84
|
|
87
|
-
from pygeodesy.errors import PointsError, _xattr, _xcallable, _xkwds,
|
|
88
|
-
_xkwds_get
|
|
87
|
+
from pygeodesy.errors import PointsError, _xattr, _xcallable, _xkwds, _xkwds_get
|
|
89
88
|
import pygeodesy.formy as _formy
|
|
90
89
|
from pygeodesy.interns import NN, _DOT_, _n_, _units_
|
|
91
90
|
# from pygeodesy.iters import points2 as _points2 # from .points
|
|
92
91
|
from pygeodesy.lazily import _ALL_LAZY, _FOR_DOCS
|
|
93
92
|
from pygeodesy.named import _name2__, _Named, _NamedTuple, _Pass
|
|
94
93
|
# from pygeodesy.namedTuples import PhiLam2Tuple # from .points
|
|
95
|
-
from pygeodesy.points import _distanceTo, _fractional,
|
|
96
|
-
|
|
94
|
+
from pygeodesy.points import _distanceTo, _fractional, isscalar, PhiLam2Tuple, \
|
|
95
|
+
points2 as _points2, radians
|
|
97
96
|
from pygeodesy.props import Property, property_doc_, property_RO
|
|
98
|
-
from pygeodesy.units import FIx, Float, Number_
|
|
99
|
-
from pygeodesy
|
|
100
|
-
_Str_radians, _Str_radians2
|
|
97
|
+
from pygeodesy.units import FIx, Float, Number_
|
|
98
|
+
from pygeodesy import unitsBase as _unitsBase # _Str_..., _xUnit, _xUnits
|
|
101
99
|
|
|
102
100
|
from collections import defaultdict as _defaultdict
|
|
103
101
|
# from math import radians # from .points
|
|
104
102
|
|
|
105
103
|
__all__ = _ALL_LAZY.frechet
|
|
106
|
-
__version__ = '24.06.
|
|
104
|
+
__version__ = '24.06.15'
|
|
107
105
|
|
|
108
106
|
|
|
109
107
|
def _fraction(fraction, n):
|
|
@@ -134,7 +132,7 @@ class Frechet(_Named):
|
|
|
134
132
|
_kwds = {} # func_ options
|
|
135
133
|
_n1 = 0
|
|
136
134
|
_ps1 = None
|
|
137
|
-
_units = _Str_NN # XXX Str to _Pass and for backward compatibility
|
|
135
|
+
_units = _unitsBase._Str_NN # XXX Str to _Pass and for backward compatibility
|
|
138
136
|
|
|
139
137
|
def __init__(self, point1s, fraction=None, units=NN, **name__kwds):
|
|
140
138
|
'''New C{Frechet...} calculator/interpolator.
|
|
@@ -316,7 +314,7 @@ class Frechet(_Named):
|
|
|
316
314
|
|
|
317
315
|
@raise TypeError: Invalid B{C{units}}.
|
|
318
316
|
'''
|
|
319
|
-
self._units = _xUnits(units, Base=Float)
|
|
317
|
+
self._units = _unitsBase._xUnits(units, Base=Float)
|
|
320
318
|
|
|
321
319
|
@property_RO
|
|
322
320
|
def wrap(self):
|
|
@@ -328,7 +326,7 @@ class Frechet(_Named):
|
|
|
328
326
|
class FrechetDegrees(Frechet):
|
|
329
327
|
'''DEPRECATED, use an other C{Frechet*} class.
|
|
330
328
|
'''
|
|
331
|
-
_units = _Str_degrees
|
|
329
|
+
_units = _unitsBase._Str_degrees
|
|
332
330
|
|
|
333
331
|
if _FOR_DOCS:
|
|
334
332
|
__init__ = Frechet.__init__
|
|
@@ -342,7 +340,7 @@ class FrechetDegrees(Frechet):
|
|
|
342
340
|
class FrechetRadians(Frechet):
|
|
343
341
|
'''DEPRECATED, use an other C{Frechet*} class.
|
|
344
342
|
'''
|
|
345
|
-
_units = _Str_radians
|
|
343
|
+
_units = _unitsBase._Str_radians
|
|
346
344
|
|
|
347
345
|
if _FOR_DOCS:
|
|
348
346
|
__init__ = Frechet.__init__
|
|
@@ -369,8 +367,8 @@ class _FrechetMeterRadians(Frechet):
|
|
|
369
367
|
the optional keyword arguments supplied at instantiation
|
|
370
368
|
of the C{Frechet*} sub-class.
|
|
371
369
|
'''
|
|
372
|
-
_units = _Str_meter
|
|
373
|
-
_units_ = _Str_radians
|
|
370
|
+
_units = _unitsBase._Str_meter
|
|
371
|
+
_units_ = _unitsBase._Str_radians
|
|
374
372
|
|
|
375
373
|
def discrete(self, point2s, fraction=None):
|
|
376
374
|
'''Overloaded method L{Frechet.discrete} to determine
|
|
@@ -464,7 +462,7 @@ class FrechetDistanceTo(Frechet): # FrechetMeter
|
|
|
464
462
|
'''Compute the C{Frechet} distance based on the distance from the
|
|
465
463
|
point1s' C{LatLon.distanceTo} method, conventionally in C{meter}.
|
|
466
464
|
'''
|
|
467
|
-
_units = _Str_meter
|
|
465
|
+
_units = _unitsBase._Str_meter
|
|
468
466
|
|
|
469
467
|
def __init__(self, point1s, **fraction_name__distanceTo_kwds):
|
|
470
468
|
'''New L{FrechetDistanceTo} calculator/interpolator.
|
|
@@ -500,7 +498,7 @@ class FrechetEquirectangular(Frechet):
|
|
|
500
498
|
'''Compute the C{Frechet} distance based on the I{equirectangular}
|
|
501
499
|
distance in C{radians squared} like function L{pygeodesy.equirectangular}.
|
|
502
500
|
'''
|
|
503
|
-
_units = _Str_radians2
|
|
501
|
+
_units = _unitsBase._Str_radians2
|
|
504
502
|
|
|
505
503
|
def __init__(self, point1s, **fraction_name__adjust_limit_wrap):
|
|
506
504
|
'''New L{FrechetEquirectangular} calculator/interpolator.
|
|
@@ -547,7 +545,7 @@ class FrechetExact(Frechet):
|
|
|
547
545
|
'''Compute the C{Frechet} distance based on the I{angular} distance
|
|
548
546
|
in C{degrees} from method L{GeodesicExact}C{.Inverse}.
|
|
549
547
|
'''
|
|
550
|
-
_units = _Str_degrees
|
|
548
|
+
_units = _unitsBase._Str_degrees
|
|
551
549
|
|
|
552
550
|
def __init__(self, point1s, datum=None, **fraction_name__wrap):
|
|
553
551
|
'''New L{FrechetExact} calculator/interpolator.
|
|
@@ -576,7 +574,7 @@ class FrechetFlatLocal(_FrechetMeterRadians):
|
|
|
576
574
|
'''Compute the C{Frechet} distance based on the I{angular} distance in
|
|
577
575
|
C{radians squared} like function L{pygeodesy.flatLocal_}/L{pygeodesy.hubeny}.
|
|
578
576
|
'''
|
|
579
|
-
_units_ = _Str_radians2 # see L{flatLocal_}
|
|
577
|
+
_units_ = _unitsBase._Str_radians2 # see L{flatLocal_}
|
|
580
578
|
|
|
581
579
|
def __init__(self, point1s, **fraction_name__datum_scaled_wrap):
|
|
582
580
|
'''New L{FrechetFlatLocal}/L{FrechetHubeny} calculator/interpolator.
|
|
@@ -659,7 +657,7 @@ class FrechetKarney(Frechet):
|
|
|
659
657
|
<https://GeographicLib.SourceForge.io/Python/doc/code.html>}
|
|
660
658
|
C{Inverse} method.
|
|
661
659
|
'''
|
|
662
|
-
_units = _Str_degrees
|
|
660
|
+
_units = _unitsBase._Str_degrees
|
|
663
661
|
|
|
664
662
|
def __init__(self, point1s, datum=None, **fraction_name__wrap):
|
|
665
663
|
'''New L{FrechetKarney} calculator/interpolator.
|
|
@@ -845,7 +843,7 @@ class Frechet6Tuple(_NamedTuple):
|
|
|
845
843
|
def toUnits(self, **Error_name): # PYCHOK expected
|
|
846
844
|
'''Overloaded C{_NamedTuple.toUnits} for C{fd} units.
|
|
847
845
|
'''
|
|
848
|
-
U = _xUnit(self.units, Float) # PYCHOK expected
|
|
846
|
+
U = _unitsBase._xUnit(self.units, Float) # PYCHOK expected
|
|
849
847
|
return _NamedTuple.toUnits(self.reUnit(U), **Error_name) # PYCHOK self
|
|
850
848
|
|
|
851
849
|
# def __gt__(self, other):
|
pygeodesy/fsums.py
CHANGED
|
@@ -47,7 +47,7 @@ from pygeodesy.streprs import Fmt, fstr, unstr
|
|
|
47
47
|
from math import ceil as _ceil, fabs, floor as _floor # PYCHOK used! .ltp
|
|
48
48
|
|
|
49
49
|
__all__ = _ALL_LAZY.fsums
|
|
50
|
-
__version__ = '24.06.
|
|
50
|
+
__version__ = '24.06.11'
|
|
51
51
|
|
|
52
52
|
_add_op_ = _PLUS_ # in .auxilats.auxAngle
|
|
53
53
|
_eq_op_ = _EQUAL_ * 2 # _DEQUAL_
|
|
@@ -559,7 +559,7 @@ class Fsum(_Named): # sync __methods__ with .vector3dBase.Vector3dBase
|
|
|
559
559
|
|
|
560
560
|
@note: If B{C{mod}} is given, the result will be an C{integer}
|
|
561
561
|
L{Fsum} in Python 3+ if this instance C{is_integer} or
|
|
562
|
-
set to C{as_integer} and B{C{mod}} is given
|
|
562
|
+
set to C{as_integer} and B{C{mod}} is given and C{None}.
|
|
563
563
|
|
|
564
564
|
@raise OverflowError: Partial C{2sum} overflow.
|
|
565
565
|
|
|
@@ -1665,7 +1665,7 @@ class Fsum(_Named): # sync __methods__ with .vector3dBase.Vector3dBase
|
|
|
1665
1665
|
@raise ResidualError: Non-zero, significant residual or invalid
|
|
1666
1666
|
B{C{RESIDUAL}}.
|
|
1667
1667
|
|
|
1668
|
-
@note: If B{C{mod}} is given
|
|
1668
|
+
@note: If B{C{mod}} is given and C{None}, the result will be an
|
|
1669
1669
|
C{integer} L{Fsum} provided this instance C{is_integer}
|
|
1670
1670
|
or set to C{integer} by an L{Fsum.fint} call.
|
|
1671
1671
|
|
pygeodesy/gars.py
CHANGED
|
@@ -17,20 +17,19 @@ by I{Charles Karney}. See also U{Global Area Reference System
|
|
|
17
17
|
from pygeodesy.constants import _off90, _1_over, _0_5, \
|
|
18
18
|
_1_0 # PYCHOK used!
|
|
19
19
|
from pygeodesy.dms import parse3llh, Fmt # parseDMS2
|
|
20
|
-
from pygeodesy.errors import _ValueError, _xkwds
|
|
20
|
+
from pygeodesy.errors import _ValueError, _xkwds, _xStrError
|
|
21
21
|
from pygeodesy.interns import NN, _0to9_, _AtoZnoIO_, _COMMA_
|
|
22
22
|
from pygeodesy.lazily import _ALL_LAZY, _ALL_OTHER
|
|
23
23
|
from pygeodesy.named import _name__, isstr, Property_RO
|
|
24
24
|
from pygeodesy.namedTuples import LatLon2Tuple, LatLonPrec3Tuple
|
|
25
25
|
# from pygeodesy.props import Property_RO # from .named
|
|
26
26
|
# from pygeodesy.streprs import Fmt # from .dms
|
|
27
|
-
from pygeodesy.units import Int_, Lat, Lon, Precision_, Scalar_,
|
|
28
|
-
Str, _xStrError
|
|
27
|
+
from pygeodesy.units import Int_, Lat, Lon, Precision_, Scalar_, Str
|
|
29
28
|
|
|
30
29
|
from math import floor
|
|
31
30
|
|
|
32
31
|
__all__ = _ALL_LAZY.gars
|
|
33
|
-
__version__ = '24.
|
|
32
|
+
__version__ = '24.06.15'
|
|
34
33
|
|
|
35
34
|
_Digits = _0to9_
|
|
36
35
|
_LatLen = 2
|