pygeodesy 25.5.25__py2.py3-none-any.whl → 25.7.25__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/__init__.py +8 -8
- pygeodesy/__main__.py +2 -1
- pygeodesy/booleans.py +10 -10
- pygeodesy/constants.py +6 -6
- pygeodesy/css.py +1 -1
- pygeodesy/ellipsoidalBase.py +52 -58
- pygeodesy/ellipsoidalExact.py +22 -27
- pygeodesy/ellipsoidalGeodSolve.py +19 -19
- pygeodesy/ellipsoidalKarney.py +22 -27
- pygeodesy/ellipsoidalVincenty.py +12 -11
- pygeodesy/elliptic.py +258 -232
- pygeodesy/fmath.py +6 -4
- pygeodesy/frechet.py +2 -2
- pygeodesy/fsums.py +40 -18
- pygeodesy/geodesici.py +3 -3
- pygeodesy/geodesicw.py +27 -8
- pygeodesy/geodesicx/__init__.py +1 -1
- pygeodesy/geodesicx/__main__.py +2 -2
- pygeodesy/geodesicx/gx.py +53 -48
- pygeodesy/geodesicx/gxarea.py +56 -68
- pygeodesy/geodesicx/gxbases.py +14 -3
- pygeodesy/geodesicx/gxline.py +9 -6
- pygeodesy/geoids.py +1 -1
- pygeodesy/hausdorff.py +2 -2
- pygeodesy/heights.py +4 -4
- pygeodesy/internals.py +2 -2
- pygeodesy/interns.py +5 -5
- pygeodesy/karney.py +27 -11
- pygeodesy/lcc.py +2 -2
- pygeodesy/props.py +3 -3
- pygeodesy/sphericalBase.py +3 -3
- pygeodesy/sphericalNvector.py +18 -15
- pygeodesy/sphericalTrigonometry.py +19 -20
- pygeodesy/vector2d.py +2 -2
- {pygeodesy-25.5.25.dist-info → pygeodesy-25.7.25.dist-info}/METADATA +8 -8
- {pygeodesy-25.5.25.dist-info → pygeodesy-25.7.25.dist-info}/RECORD +38 -38
- {pygeodesy-25.5.25.dist-info → pygeodesy-25.7.25.dist-info}/WHEEL +0 -0
- {pygeodesy-25.5.25.dist-info → pygeodesy-25.7.25.dist-info}/top_level.txt +0 -0
pygeodesy/sphericalNvector.py
CHANGED
|
@@ -62,7 +62,7 @@ from pygeodesy.utily import atan2, degrees360, sincos2, sincos2_, sincos2d, \
|
|
|
62
62
|
# from math import fabs # from utily
|
|
63
63
|
|
|
64
64
|
__all__ = _ALL_LAZY.sphericalNvector
|
|
65
|
-
__version__ = '25.05.
|
|
65
|
+
__version__ = '25.05.27'
|
|
66
66
|
|
|
67
67
|
_lines_ = 'lines'
|
|
68
68
|
|
|
@@ -782,18 +782,19 @@ class Nvector(NvectorBase):
|
|
|
782
782
|
_Nv00 = LatLon(_0_0, _0_0, name=_Nv00_) # reference instance (L{LatLon})
|
|
783
783
|
|
|
784
784
|
|
|
785
|
-
def areaOf(points, radius=R_M, wrap=False):
|
|
785
|
+
def areaOf(points, radius=R_M, wrap=False, polar=False):
|
|
786
786
|
'''Calculate the area of a (spherical) polygon or composite (with
|
|
787
787
|
great circle arcs joining consecutive points).
|
|
788
788
|
|
|
789
|
-
@arg points: The polygon points or clips (C{LatLon}[],
|
|
790
|
-
|
|
789
|
+
@arg points: The polygon points or clips (C{LatLon}[], L{BooleanFHP}
|
|
790
|
+
or L{BooleanGH}).
|
|
791
791
|
@kwarg radius: Mean earth radius (C{meter}) or C{None}.
|
|
792
|
-
@kwarg wrap: If C{True}, wrap or I{normalize} and unroll the
|
|
793
|
-
|
|
792
|
+
@kwarg wrap: If C{True}, wrap or I{normalize} and unroll the B{C{points}}
|
|
793
|
+
(C{bool}).
|
|
794
|
+
@kwarg polar: Use of C{B{polar}=True} not implemented (C{bool}).
|
|
794
795
|
|
|
795
|
-
@return: Polygon area (C{meter} I{squared}, same units as
|
|
796
|
-
|
|
796
|
+
@return: Polygon area (C{meter} I{squared}, same units as B{C{radius}},
|
|
797
|
+
or C{radians} if C{B{radius} is None}).
|
|
797
798
|
|
|
798
799
|
@raise PointsError: Insufficient number of B{C{points}}.
|
|
799
800
|
|
|
@@ -802,6 +803,9 @@ def areaOf(points, radius=R_M, wrap=False):
|
|
|
802
803
|
@see: Functions L{pygeodesy.areaOf}, L{sphericalTrigonometry.areaOf}
|
|
803
804
|
and L{ellipsoidalKarney.areaOf}.
|
|
804
805
|
'''
|
|
806
|
+
if polar:
|
|
807
|
+
notImplemented(None, polar=polar, up=2)
|
|
808
|
+
|
|
805
809
|
def _interangles(ps, w): # like .karney._polygon
|
|
806
810
|
Ps = _Nv00.PointsIter(ps, loop=2, wrap=w)
|
|
807
811
|
# use vector to 1st point as plane normal for sign of α
|
|
@@ -824,15 +828,14 @@ def areaOf(points, radius=R_M, wrap=False):
|
|
|
824
828
|
if _MODS.booleans.isBoolean(points):
|
|
825
829
|
r = points._sum2(LatLon, areaOf, radius=None, wrap=wrap)
|
|
826
830
|
else:
|
|
827
|
-
# sum interior angles: depending on whether polygon is cw or
|
|
828
|
-
# angle between edges is π−α or π+α, where α is angle
|
|
829
|
-
# great-circle vectors; so sum α, then take n·π − |Σα|
|
|
830
|
-
# use Σ(π−|α|) as concave polygons would fail)
|
|
831
|
+
# sum interior angles: depending on whether polygon is cw or
|
|
832
|
+
# ccw, angle between edges is π−α or π+α, where α is angle
|
|
833
|
+
# between great-circle vectors; so sum α, then take n·π − |Σα|
|
|
834
|
+
# (cannot use Σ(π−|α|) as concave polygons would fail)
|
|
831
835
|
s = fsum(_interangles(points, wrap))
|
|
832
836
|
# using Girard’s theorem: A = [Σθᵢ − (n−2)·π]·R²
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
return r if radius is None else (r * Radius(radius)**2)
|
|
837
|
+
r = fabs(PI2 - fabs(s)) # == n*PI - abs(s) - (n-2)*PI
|
|
838
|
+
return r if radius is None else (Radius(radius)**2 * r)
|
|
836
839
|
|
|
837
840
|
|
|
838
841
|
def intersecant2(center, circle, point, other, **radius_exact_height_wrap):
|
|
@@ -57,7 +57,7 @@ from pygeodesy.vector3d import sumOf, Vector3d
|
|
|
57
57
|
from math import asin, cos, degrees, fabs, radians, sin
|
|
58
58
|
|
|
59
59
|
__all__ = _ALL_LAZY.sphericalTrigonometry
|
|
60
|
-
__version__ = '25.05.
|
|
60
|
+
__version__ = '25.05.28'
|
|
61
61
|
|
|
62
62
|
_PI_EPS4 = PI - EPS4
|
|
63
63
|
if _PI_EPS4 >= PI:
|
|
@@ -758,20 +758,21 @@ class LatLon(LatLonSphericalBase):
|
|
|
758
758
|
_T00 = LatLon(0, 0, name='T00') # reference instance (L{LatLon})
|
|
759
759
|
|
|
760
760
|
|
|
761
|
-
def areaOf(points, radius=R_M, wrap=False): # was=True
|
|
762
|
-
'''Calculate the area of a (spherical) polygon or composite (with the
|
|
763
|
-
|
|
761
|
+
def areaOf(points, radius=R_M, wrap=False, polar=False): # was wrap=True
|
|
762
|
+
'''Calculate the area of a (spherical) polygon or composite (with the points joined by
|
|
763
|
+
great circle arcs).
|
|
764
764
|
|
|
765
|
-
@arg points: The polygon points or clips (L{LatLon}[], L{BooleanFHP}
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
765
|
+
@arg points: The polygon points or clips (L{LatLon}[], L{BooleanFHP} or L{BooleanGH}).
|
|
766
|
+
@kwarg radius: Mean earth radius, ellipsoid or datum (C{meter}, L{Ellipsoid},
|
|
767
|
+
L{Ellipsoid2}, L{Datum} or L{a_f2Tuple}) or C{None}.
|
|
768
|
+
@kwarg wrap: If C{True}, wrap or I{normalize} and unroll the B{C{points}} (C{bool}).
|
|
769
|
+
@kwarg polar: Use C{B{polar}=True} if the polygon encloses a pole (C{bool}), see
|
|
770
|
+
function L{ispolar<pygeodesy.points.ispolar>} and U{area of a polygon
|
|
771
|
+
enclosing a pole<https://GeographicLib.SourceForge.io/C++/doc/
|
|
772
|
+
classGeographicLib_1_1GeodesicExact.html#a3d7a9155e838a09a48dc14d0c3fac525>}.
|
|
772
773
|
|
|
773
|
-
@return: Polygon area (C{meter} I{quared}, same units as B{C{radius}}
|
|
774
|
-
|
|
774
|
+
@return: Polygon area (C{meter} I{quared}, same units as B{C{radius}} or C{radians} if
|
|
775
|
+
C{B{radius} is None}).
|
|
775
776
|
|
|
776
777
|
@raise PointsError: Insufficient number of B{C{points}}.
|
|
777
778
|
|
|
@@ -779,13 +780,11 @@ def areaOf(points, radius=R_M, wrap=False): # was=True
|
|
|
779
780
|
|
|
780
781
|
@raise ValueError: Invalid B{C{radius}} or semi-circular polygon edge.
|
|
781
782
|
|
|
782
|
-
@note: The area is based on I{Karney}'s U{'Area of a spherical
|
|
783
|
-
|
|
784
|
-
the-area-of-spherical-polygons>}, 3rd Answer.
|
|
783
|
+
@note: The area is based on I{Karney}'s U{'Area of a spherical polygon'
|
|
784
|
+
<https://MathOverflow.net/questions/97711/ the-area-of-spherical-polygons>}, 3rd Answer.
|
|
785
785
|
|
|
786
|
-
@see: Functions L{pygeodesy.areaOf}, L{sphericalNvector.areaOf},
|
|
787
|
-
L{
|
|
788
|
-
L{ellipsoidalKarney.areaOf}.
|
|
786
|
+
@see: Functions L{pygeodesy.areaOf}, L{sphericalNvector.areaOf}, L{pygeodesy.excessKarney},
|
|
787
|
+
L{ellipsoidalExact.areaOf} and L{ellipsoidalKarney.areaOf}.
|
|
789
788
|
'''
|
|
790
789
|
if _MODS.booleans.isBoolean(points):
|
|
791
790
|
return points._sum2(LatLon, areaOf, radius=radius, wrap=wrap)
|
|
@@ -822,7 +821,7 @@ def areaOf(points, radius=R_M, wrap=False): # was=True
|
|
|
822
821
|
p1, z1 = p2, z2
|
|
823
822
|
|
|
824
823
|
R = abs(R * _2_0)
|
|
825
|
-
if abs(D) < _90_0: # ispolar(points)
|
|
824
|
+
if abs(D) < _90_0 or polar: # ispolar(points)
|
|
826
825
|
R = abs(R - PI2)
|
|
827
826
|
if radius:
|
|
828
827
|
a = degrees(A.fover(len(A))) # mean lat
|
pygeodesy/vector2d.py
CHANGED
|
@@ -36,7 +36,7 @@ from contextlib import contextmanager
|
|
|
36
36
|
# from math import fabs, sqrt # from .fmath
|
|
37
37
|
|
|
38
38
|
__all__ = _ALL_LAZY.vector2d
|
|
39
|
-
__version__ = '25.05.
|
|
39
|
+
__version__ = '25.05.26'
|
|
40
40
|
|
|
41
41
|
_cA_ = 'cA'
|
|
42
42
|
_cB_ = 'cB'
|
|
@@ -437,7 +437,7 @@ class _numpy(object): # see also .formy._idllmn6, .geodesicw._wargs, .latlonBas
|
|
|
437
437
|
def np(self):
|
|
438
438
|
'''Import numpy 1.10+ once.
|
|
439
439
|
'''
|
|
440
|
-
return _xnumpy(self
|
|
440
|
+
return _xnumpy(type(self), 1, 10)
|
|
441
441
|
|
|
442
442
|
def null_space2(self, A, rcond=None):
|
|
443
443
|
'''Return the C{null_space} and C{rank} of matrix B{C{A}}.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pygeodesy
|
|
3
|
-
Version: 25.
|
|
3
|
+
Version: 25.7.25
|
|
4
4
|
Summary: Pure Python geodesy tools
|
|
5
5
|
Home-page: https://GitHub.com/mrJean1/PyGeodesy
|
|
6
6
|
Author: Jean M. Brouwers
|
|
@@ -119,7 +119,7 @@ test results (on macOS only) and the complete documentation_ generated by Epydoc
|
|
|
119
119
|
Tests
|
|
120
120
|
=====
|
|
121
121
|
|
|
122
|
-
The tests ran with Python 3.13.
|
|
122
|
+
The tests ran with Python 3.13.5 (with geographiclib_ 2.0), 3.12.7 (with geographiclib_ 2.0, numpy_ 2.1.0,
|
|
123
123
|
scipy_ 1.14.1, GeodSolve_ 2.5, IntersectTool_ 2.5 and RhumbSolve_ 2.5), 3.11.5 (with geographiclib_ 2.0,
|
|
124
124
|
numpy_ 1.24.2 and scipy_ 1.10.1), Python 3.10.8 (with geographiclib_ 2.0, numpy_ 1.23.3, scipy_ 1.9.1,
|
|
125
125
|
GeoConvert_ 2.5, GeodSolve_ 2.5), Python 3.9.6 and Python 2.7.18 (with geographiclib_ 1.50, numpy_ 1.16.6,
|
|
@@ -130,20 +130,20 @@ All tests ran with and without ``lazy import`` for Python 3 and with command lin
|
|
|
130
130
|
and env variable ``PYGEODESY_WARNINGS=on`` for all Python versions. The results of those tests are
|
|
131
131
|
included in the distribution files.
|
|
132
132
|
|
|
133
|
-
Python 3.13.
|
|
133
|
+
Python 3.13.5, 3.12.7, 3.11.5 and 3.10.8 run on Apple M4 Si (``arm64``), *natively*. Python 2.7.18 runs
|
|
134
134
|
on Intel (``x86_64``) or Intel *emulation* (\"``arm64_x86_64``\", see function `pygeodesy.machine`_).
|
|
135
135
|
|
|
136
|
-
Test coverage has been measured with coverage_ 7.6.1 using Python 3.13.
|
|
136
|
+
Test coverage has been measured with coverage_ 7.6.1 using Python 3.13.4, 3.12.7, 3.11.5 and 3.10.8. The
|
|
137
137
|
complete coverage report in HTML and a PDF summary are included in the distribution files.
|
|
138
138
|
|
|
139
|
-
The tests also ran with Python 3.13.
|
|
139
|
+
The tests also ran with Python 3.13.5 (and geographiclib_ 2.0) on `Debian 12`_ in 64-bit only and with
|
|
140
140
|
Python 3.12.8 (and geographiclib_ 2.0) on `Windows 2019Server`_ in 64-bit only and with Python 2.7.18
|
|
141
141
|
(and with geographiclib_ 1.52) on `Windows 10`_ in 64- and 32-bit.
|
|
142
142
|
|
|
143
143
|
A single-File and single-Directory application with ``pygeodesy`` has been bundled using PyInstaller_ 3.4
|
|
144
144
|
and 64-bit Python 3.7.4 and 3.7.3 on macOS 10.13.6 High Sierra.
|
|
145
145
|
|
|
146
|
-
Previously, the tests were run with Python 3.13.0-
|
|
146
|
+
Previously, the tests were run with Python 3.13.0-4, 3.12.0-6, 3.11.2-4, 3.10.1-7, 3.9.1, 3.8.7, 3.7.1, 2.7.15,
|
|
147
147
|
PyPy_ 7.3.12 (Python 3.10.12), 7.3.1 (Python 3.6.9) and PyPy_ 7.1.1 (Python 2.7.13) (and geographiclib_ 1.52,
|
|
148
148
|
numpy_ 1.16.3, 1.16.4, 1.16.6, 1.19.0, 1.19.4, 1.19.5 or 1.22.4 and scipy_ 1.2.1, 1.4.1, 1.5.2 or 1.8.1) on
|
|
149
149
|
Ubuntu 16.04, with Python 3.10.0-1, 3.9.0-5, 3.8.0-6, 3.7.2-6, 3.7.0, 3.6.2-5, 3.5.3, 2.7.13-17, 2.7.10
|
|
@@ -159,12 +159,12 @@ Server 2012R2, Windows 10 Pro and 32-bit Python 2.6.6 on Windows XP SP3.
|
|
|
159
159
|
Notes
|
|
160
160
|
=====
|
|
161
161
|
|
|
162
|
-
All Python source code has been statically checked_ with Ruff_ using Python 3.13.
|
|
162
|
+
All Python source code has been statically checked_ with Ruff_ using Python 3.13.5 and with PyChecker_, PyFlakes_,
|
|
163
163
|
PyCodeStyle_ (formerly Pep8) and McCabe_ using Python 2.7.18, both in 64-bit on macOS 15.5 Sequoia only.
|
|
164
164
|
|
|
165
165
|
For a summary of all *Karney*-based functionality in ``pygeodesy``, see module karney_.
|
|
166
166
|
|
|
167
|
-
*Last updated:
|
|
167
|
+
*Last updated: July 25, 2025.*
|
|
168
168
|
|
|
169
169
|
License
|
|
170
170
|
=======
|
|
@@ -1,52 +1,52 @@
|
|
|
1
1
|
pygeodesy/LICENSE,sha256=YfgAiyxOwY6P9Kkb1_5XN81nueTLrpb3Ffkv3EuPgFU,1144
|
|
2
|
-
pygeodesy/__init__.py,sha256=
|
|
3
|
-
pygeodesy/__main__.py,sha256=
|
|
2
|
+
pygeodesy/__init__.py,sha256=eQka0vi00N446lUD8M76mPfU8TsRK4VgBqY0tdqocuk,42285
|
|
3
|
+
pygeodesy/__main__.py,sha256=HpOBmuhI7yVP1FIAEugvd9Lb54kzew-nM78be0r4SC4,5597
|
|
4
4
|
pygeodesy/albers.py,sha256=mb3YbVvoBq8a7AytT0HeVxe8DGEvx1KFN2Usl2ksKwk,30908
|
|
5
5
|
pygeodesy/azimuthal.py,sha256=acwIA1B7jmg1oDpJBuFitnOVHUWRUk7Y73yI8zqIGrc,49854
|
|
6
6
|
pygeodesy/basics.py,sha256=ErpbLgHNerGPKiOIlWKdKzq6lO0dhoZjaywTnCn8PyE,32905
|
|
7
|
-
pygeodesy/booleans.py,sha256=
|
|
7
|
+
pygeodesy/booleans.py,sha256=njAJlAoVZEcQ5jp8wwyuVo8-jFPE3PFpAF3k3dQihBM,73683
|
|
8
8
|
pygeodesy/cartesianBase.py,sha256=tvb1pGUTvSkIAInNhrnHXjBCwnQrVn6a-H2fipoapKE,45365
|
|
9
9
|
pygeodesy/clipy.py,sha256=a0azaK7YDmGDU8mVVKe2MvUiPEhqZ9XJ-9u0T1iHKbo,27779
|
|
10
|
-
pygeodesy/constants.py,sha256=
|
|
11
|
-
pygeodesy/css.py,sha256=
|
|
10
|
+
pygeodesy/constants.py,sha256=usdHWtYiy8iaPXxXau2vsViL9zC8I4Jp2fziiEmp2g4,19947
|
|
11
|
+
pygeodesy/css.py,sha256=vdQax5m7BMSpr7PUyqedCSvx73ilWuhXQTp39i8FOfA,25793
|
|
12
12
|
pygeodesy/datums.py,sha256=Vp1fP7sSV1EuRbuO2scnZ3qiTZD1CvL4O12KSRlf1SU,34068
|
|
13
13
|
pygeodesy/dms.py,sha256=CKXt2EOYFBluQV5q6cFYppJl3dCvvEB_0E84J0ki6ws,42202
|
|
14
14
|
pygeodesy/ecef.py,sha256=DcWNhnOZC7-Olns9c1XI9p4MmuC00KN5rZ5W1UQVUxw,59009
|
|
15
15
|
pygeodesy/ecefLocals.py,sha256=zoxGUJeYX2UXzR9r0jaByrvfrrpmrvAhjyQsz433RjA,7794
|
|
16
16
|
pygeodesy/elevations.py,sha256=WrWPZNgkZX9Ys_1ij_gyE4jzdIv85JYAaR2cK3vc4gQ,10879
|
|
17
|
-
pygeodesy/ellipsoidalBase.py,sha256=
|
|
17
|
+
pygeodesy/ellipsoidalBase.py,sha256=UpmJfjAuC7pvN9VIxLXveAmotPVW7oL2APAJUTi34Uc,55711
|
|
18
18
|
pygeodesy/ellipsoidalBaseDI.py,sha256=PbSJkUUHpRGYgnnciMD-sWqTCReZv_FAc8SUonF3ZbI,38544
|
|
19
|
-
pygeodesy/ellipsoidalExact.py,sha256=
|
|
20
|
-
pygeodesy/ellipsoidalGeodSolve.py,sha256=
|
|
21
|
-
pygeodesy/ellipsoidalKarney.py,sha256=
|
|
19
|
+
pygeodesy/ellipsoidalExact.py,sha256=kKnQV3gz293dPowsRx5aI0CJ05a2TWGpEcWoJCxut30,17111
|
|
20
|
+
pygeodesy/ellipsoidalGeodSolve.py,sha256=w5TubUdqYwvrtxfIwP2Scr1FzISq2szx1HX88TUa42E,17107
|
|
21
|
+
pygeodesy/ellipsoidalKarney.py,sha256=W_Liw5MxTqJJGsxMi50ui8grRSPKwkG2HH-Mv_mXQYk,18839
|
|
22
22
|
pygeodesy/ellipsoidalNvector.py,sha256=HLFjX6o26q2fzVCjLSL0PdEh96xhGtjfzo2V_k54j4A,30146
|
|
23
|
-
pygeodesy/ellipsoidalVincenty.py,sha256=
|
|
23
|
+
pygeodesy/ellipsoidalVincenty.py,sha256=zeTvid09NGuYJ1WJ__a3ApCBGSzX0A-Rhs8-sQXMNQQ,26273
|
|
24
24
|
pygeodesy/ellipsoids.py,sha256=v964yZIL2nCc8MJgt3nzV6pczaQsQubXmX_sAh_nrBw,107765
|
|
25
|
-
pygeodesy/elliptic.py,sha256=
|
|
25
|
+
pygeodesy/elliptic.py,sha256=4MdiatI5RZuP9t2nMdmzeoqk37R2U8Ll5SeW5w2wymY,45670
|
|
26
26
|
pygeodesy/epsg.py,sha256=VIBidzAEuoBF4LdlJ4r3WtpL0Ymhru8kf4fAgfFr5ok,8220
|
|
27
27
|
pygeodesy/errors.py,sha256=OUEJ51M3c-JH1n0BBbRtPTCDX0I00rH_BQPYSRoKrqo,32043
|
|
28
28
|
pygeodesy/etm.py,sha256=NDtpmbQmbGieV64iJ-EDIAvD9ryjrW0hiD3wBBtxULk,46744
|
|
29
|
-
pygeodesy/fmath.py,sha256=
|
|
29
|
+
pygeodesy/fmath.py,sha256=QLUVgzjTuz2NuoxCdx12T2P7nS_5HPxYf2892278SHU,37788
|
|
30
30
|
pygeodesy/formy.py,sha256=7-CdPiagdVrbDMjWieX_guN4RvFVCYKOM3yDKSFPRWU,69777
|
|
31
|
-
pygeodesy/frechet.py,sha256=
|
|
31
|
+
pygeodesy/frechet.py,sha256=dBnQ5ePuaUdKv62-e9RfovFDxELsZPQEKMLww9NOf7Q,35588
|
|
32
32
|
pygeodesy/fstats.py,sha256=M6UOrwmeGp6kjYuYfc6Iq9ibMJAFNm6D4C5GnvlJeuM,28348
|
|
33
|
-
pygeodesy/fsums.py,sha256=
|
|
33
|
+
pygeodesy/fsums.py,sha256=I2yr6XtQH4Mf4qaiSuta2U_sKc_N0xCc7cIez9YLVo4,104978
|
|
34
34
|
pygeodesy/gars.py,sha256=AXioT4Lh1cwrd7fF6dHcVJw-9vu2oAnZrzo_ka2Y3Ts,11761
|
|
35
|
-
pygeodesy/geodesici.py,sha256=
|
|
36
|
-
pygeodesy/geodesicw.py,sha256=
|
|
35
|
+
pygeodesy/geodesici.py,sha256=V2FW_xQUwm6HfiVoZoBXhipsAV0EjXHnAc_wUG78kAQ,74889
|
|
36
|
+
pygeodesy/geodesicw.py,sha256=xDxxxr4HOT-8Mh85zD6QZzyO-mfqUavfwQMStYrsF8c,30029
|
|
37
37
|
pygeodesy/geodsolve.py,sha256=fFlyNlkEOpkJaeddEuKwfhtqaZjmVs0egNGM5cwFFoc,29101
|
|
38
38
|
pygeodesy/geohash.py,sha256=1P9-k9sMN-ZVFr2iWbQpFi1lg3uNmChHFCIfETkgFJU,40153
|
|
39
|
-
pygeodesy/geoids.py,sha256=
|
|
40
|
-
pygeodesy/hausdorff.py,sha256=
|
|
41
|
-
pygeodesy/heights.py,sha256=
|
|
42
|
-
pygeodesy/internals.py,sha256=
|
|
43
|
-
pygeodesy/interns.py,sha256=
|
|
39
|
+
pygeodesy/geoids.py,sha256=OQvOVutr8R1CalStgxmNu2Mk3oMl4zpCY_OKh0KHpI8,86125
|
|
40
|
+
pygeodesy/hausdorff.py,sha256=KGB0CIeNkBqR0sXIbRJvcgXPrM-4Mpi2aBOqDeZjqZ0,32269
|
|
41
|
+
pygeodesy/heights.py,sha256=_Pn-6w4gGzdXCoA6m72rJm4hb-Fe2vxc8RiRRjq5iTI,41002
|
|
42
|
+
pygeodesy/internals.py,sha256=y3qT-ZbNDc-7md_T87qtVk1x2rDVtJbP5G0P-HgBlVA,24024
|
|
43
|
+
pygeodesy/interns.py,sha256=QTP_6rStQ283DE-rL7rCAcfEffuiAXustBGkCY_DHJ0,23508
|
|
44
44
|
pygeodesy/iters.py,sha256=nKVp_LUQyTqOz_OLzY25g6-_xlKG7lmAnjKKMXESmiM,20345
|
|
45
|
-
pygeodesy/karney.py,sha256=
|
|
45
|
+
pygeodesy/karney.py,sha256=IzWyGwX0kRpwrVFBpCzogd2Q8PLvCdCwHheE-zbCQZE,41629
|
|
46
46
|
pygeodesy/ktm.py,sha256=3CLwbRvk-sr4qs8R9fdJ_ejokgZEjKHULV7wzzuonHU,27259
|
|
47
47
|
pygeodesy/latlonBase.py,sha256=B7wNE-IJf-Sm3NKhCXdrgwRbH_4dBGluZlQdxTJqp8s,75320
|
|
48
48
|
pygeodesy/lazily.py,sha256=2FzJkIQK7LftAXXYxMbqTQUAWth7T3syIhqm8Z9bhuo,47609
|
|
49
|
-
pygeodesy/lcc.py,sha256=
|
|
49
|
+
pygeodesy/lcc.py,sha256=7Di2Y5VIDL5drdSce4ABWGT3MtZSosaLKd68US6788s,25786
|
|
50
50
|
pygeodesy/ltp.py,sha256=N3TMipTWKUOeZYzn3UeJJqe5J4Yk788390ohQM1ykAE,50893
|
|
51
51
|
pygeodesy/ltpTuples.py,sha256=t-n7p9A3JCVasv8LKCV4PkOTmXJZi91BkBFm8pBZM5o,59101
|
|
52
52
|
pygeodesy/mgrs.py,sha256=ZgCBH_M_YFxuFu5ukVOVetk-uftv-4GJP-QJrtoqtcU,29842
|
|
@@ -55,13 +55,13 @@ pygeodesy/namedTuples.py,sha256=JlO8uWmR65RkT7Rdgc9knfI0-bqJeA-tm2ZKsesztVU,3059
|
|
|
55
55
|
pygeodesy/nvectorBase.py,sha256=XnA_DlqbgYPpF7y_BQHQVmntpI3M5fe0q8h3zX-PKbs,29930
|
|
56
56
|
pygeodesy/osgr.py,sha256=4mFUcn1vMOju3PK1rKohPtIlJZrBGPJrcRjFl-CoxqE,30852
|
|
57
57
|
pygeodesy/points.py,sha256=2vQpgqxJiC7Cgn03pqiezTM4I-CTquv9tQZi4uYWjpw,64497
|
|
58
|
-
pygeodesy/props.py,sha256=
|
|
58
|
+
pygeodesy/props.py,sha256=GCBqrkMfpbHuca2Sh68WSGDplIeZLvCDDXUewyvEiqI,24600
|
|
59
59
|
pygeodesy/resections.py,sha256=vCbnEyNghGkblrPA58-MspaxkZcInnvRgS-oSBIe1hM,43796
|
|
60
60
|
pygeodesy/simplify.py,sha256=O04NSb0ezXM8z3lCcajXbetZuum6PURAOPYTsJ27gxI,22068
|
|
61
61
|
pygeodesy/solveBase.py,sha256=I2oW7zaPoVUkD7IB9Ro0paU-T1vie1lomg83f71twDY,18468
|
|
62
|
-
pygeodesy/sphericalBase.py,sha256=
|
|
63
|
-
pygeodesy/sphericalNvector.py,sha256=
|
|
64
|
-
pygeodesy/sphericalTrigonometry.py,sha256=
|
|
62
|
+
pygeodesy/sphericalBase.py,sha256=hq6dyeeIHBy_T0Q6PIwSvmo1U70Ir5KBeMTwQplzqHQ,32071
|
|
63
|
+
pygeodesy/sphericalNvector.py,sha256=bu0yB4PEq1cs6BS8QFqtljWpVEw7ESwq2yILOzGDuAc,54948
|
|
64
|
+
pygeodesy/sphericalTrigonometry.py,sha256=8q3sevqdeJ-mOukkXLsXKAg06hDxaBhiPHhrdQn3UHY,64411
|
|
65
65
|
pygeodesy/streprs.py,sha256=-4LErmfPLtGt1tLDBHhJam-zYq8p2Z2C5wDCMELEml4,23599
|
|
66
66
|
pygeodesy/trf.py,sha256=gpsOJVER1KhITOtyiENQ4EnRONinLkzbujsfzzxHVv8,119209
|
|
67
67
|
pygeodesy/triaxials.py,sha256=V0MSYJxRgYDhZcF7HXnu7oFzRyWJkhwc6scuNjc6VVg,64046
|
|
@@ -72,7 +72,7 @@ pygeodesy/utily.py,sha256=ZJKuwoo97K7GE56-cA8bGrvyz9mN9OoOMnSOEOw0mj0,40025
|
|
|
72
72
|
pygeodesy/utm.py,sha256=kcXliftP9q0nTxviIOixVyvResK2Jydj-G52CXJiSuQ,31123
|
|
73
73
|
pygeodesy/utmups.py,sha256=31RD8l7M-vcRXU9_wnkb_PNUcKjOr1HAmwjOndjkgXE,13176
|
|
74
74
|
pygeodesy/utmupsBase.py,sha256=PptZ4Mm8BaDUCA8v1sK54o8idw_24kq6loAuYv0bejE,22730
|
|
75
|
-
pygeodesy/vector2d.py,sha256=
|
|
75
|
+
pygeodesy/vector2d.py,sha256=7R5ciPxXEX98LmMWNqwbds8Y6vpsHKEeCzcBVDRiq6g,40305
|
|
76
76
|
pygeodesy/vector3d.py,sha256=sC7u9tgFFWoWHFxqtO-dvKVuiEzraw50TDU_QpdDbYw,43045
|
|
77
77
|
pygeodesy/vector3dBase.py,sha256=BHenp3NGpfhVbJ6JMgdNLx6vAcwDWDJIxl9hAdp-AVw,36301
|
|
78
78
|
pygeodesy/webmercator.py,sha256=z3Ft5TeHc9FoLA8zQhzTrSuShHSz0aHjanbvj53ohmo,15016
|
|
@@ -102,18 +102,18 @@ pygeodesy/deprecated/rhumbx.py,sha256=YSzTywlDLfVYZmJjAEi_gLtWbsf4eGxZembaL3wOTu
|
|
|
102
102
|
pygeodesy/geodesicx/_C4_24.py,sha256=3OkzOxf0DdO1QL4N9CVYjpOgFCm8FcYjCyvcTLpL2wc,90707
|
|
103
103
|
pygeodesy/geodesicx/_C4_27.py,sha256=grqtju94Nu9V_eQPqe_7aRbLCYflxRuK127pPOPwuDA,134215
|
|
104
104
|
pygeodesy/geodesicx/_C4_30.py,sha256=I4ZuTy64yOq1IVgRtc_kqOL0HnKzXeTea7kTFSolcJs,201921
|
|
105
|
-
pygeodesy/geodesicx/__init__.py,sha256=
|
|
106
|
-
pygeodesy/geodesicx/__main__.py,sha256=
|
|
107
|
-
pygeodesy/geodesicx/gx.py,sha256=
|
|
108
|
-
pygeodesy/geodesicx/gxarea.py,sha256=
|
|
109
|
-
pygeodesy/geodesicx/gxbases.py,sha256=
|
|
110
|
-
pygeodesy/geodesicx/gxline.py,sha256=
|
|
105
|
+
pygeodesy/geodesicx/__init__.py,sha256=BCF5Wx1dMQMqOTq8YMSjte-osL0fTBzeplVOj4tFA6U,2468
|
|
106
|
+
pygeodesy/geodesicx/__main__.py,sha256=Uz_BTWU3EVjnimhZwIodrNfez-KKiT3NBJhuY10D3o4,4329
|
|
107
|
+
pygeodesy/geodesicx/gx.py,sha256=8xyVSUD9WZXdh0FUi2hg6OQ-A1Wz_puMheVvGeLmrP0,60989
|
|
108
|
+
pygeodesy/geodesicx/gxarea.py,sha256=UgniZh-WGteC86mMT7tWO_AG05gYJ5n4136cCk8hitc,19571
|
|
109
|
+
pygeodesy/geodesicx/gxbases.py,sha256=0e1qYL7AOfTn7FyI8gaB0W_uQaUtFnk8hMcC5HTStl8,6404
|
|
110
|
+
pygeodesy/geodesicx/gxline.py,sha256=JbFzLraITpW4xoOx8qCEzkF_5z8AgDSywZj0tcSexsg,27873
|
|
111
111
|
pygeodesy/rhumb/__init__.py,sha256=DsE5a16CUYWE5YTuo1U8mnDCtykuWw7VeGx23Yny_VU,2207
|
|
112
112
|
pygeodesy/rhumb/aux_.py,sha256=NeHkNLS2ULh3sTb3eBTtmRih9SZNyVJKMtJj7imKkuI,16117
|
|
113
113
|
pygeodesy/rhumb/bases.py,sha256=P5AQyL-MTbJaO4oKH_Y7qcusQxaHoAii0hJVQ9mT7hU,54250
|
|
114
114
|
pygeodesy/rhumb/ekx.py,sha256=GMY6ik4fgiRrjek-42cpZxU3U2bdoAcY6ZcbZRckpII,24026
|
|
115
115
|
pygeodesy/rhumb/solve.py,sha256=z8z_XYObTgz7w1skNLNcLBpe-EO_r0H4sVcZGlBcWnc,24005
|
|
116
|
-
pygeodesy-25.
|
|
117
|
-
pygeodesy-25.
|
|
118
|
-
pygeodesy-25.
|
|
119
|
-
pygeodesy-25.
|
|
116
|
+
pygeodesy-25.7.25.dist-info/METADATA,sha256=l3Vhf9Rra1Q1RsaUfPbDVHlRIpEyUpfzZseoSLAeIYA,20103
|
|
117
|
+
pygeodesy-25.7.25.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
|
|
118
|
+
pygeodesy-25.7.25.dist-info/top_level.txt,sha256=cEQPatCXzKZqrivpULC5V5fuy9_V_bAwaP_gUGid7pQ,10
|
|
119
|
+
pygeodesy-25.7.25.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|