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.
@@ -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.12'
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
- L{BooleanFHP} or L{BooleanGH}).
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
- B{C{points}} (C{bool}).
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
- B{C{radius}}, or C{radians} if C{B{radius} is None}).
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 ccw,
828
- # angle between edges is π−α or π+α, where α is angle between
829
- # great-circle vectors; so sum α, then take n·π − |Σα| (cannot
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
- # (PI2 - abs(s) == (n*PI - abs(s)) - (n-2)*PI)
834
- r = fabs(PI2 - fabs(s))
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.12'
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
- points joined by great circle arcs).
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
- or L{BooleanGH}).
767
- @kwarg radius: Mean earth radius, ellipsoid or datum (C{meter},
768
- L{Ellipsoid}, L{Ellipsoid2}, L{Datum} or L{a_f2Tuple})
769
- or C{None}.
770
- @kwarg wrap: If C{True}, wrap or I{normalize} and unroll the B{C{points}}
771
- (C{bool}).
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
- or C{radians} if C{B{radius} is None}).
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
- polygon'<https://MathOverflow.net/questions/97711/
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{pygeodesy.excessKarney}, L{ellipsoidalExact.areaOf} and
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.09'
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.__class__, 1, 10)
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.5.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.3 (with geographiclib_ 2.0), 3.12.7 (with geographiclib_ 2.0, numpy_ 2.1.0,
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.3, 3.12.7, 3.11.5 and 3.10.8 run on Apple M4 Si (``arm64``), *natively*. Python 2.7.18 runs
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.3, 3.12.7, 3.11.5 and 3.10.8. The
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.3 (and geographiclib_ 2.0) on `Debian 12`_ in 64-bit only and with
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-2, 3.12.0-6, 3.11.2-4, 3.10.1-7, 3.9.1, 3.8.7, 3.7.1, 2.7.15,
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.3 and with PyChecker_, PyFlakes_,
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: May 25, 2025.*
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=lJoIhQqDE5sqmoU2P-S8CbYP2AR1CEMSqZvNu9ulO4U,42290
3
- pygeodesy/__main__.py,sha256=B7CImXa4fm8lEqjTTp5AEalqIhldNpghdHtJkyMdyh0,5522
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=ncA4SV-2TX78CUsRKRgFh43g5NhkW_Iy1mnnudA3Nog,73683
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=xU8_niBOG4VFdWEqCi4XARiNJEAmprSTPCNkUrG3Bec,19899
11
- pygeodesy/css.py,sha256=Vn4MSpCagj55L_SM47AVX6V5sPglG17X1JJiU1rW1yA,25797
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=n6VHIaRZ6UvC1H36qolKxwlHJX5BZysvgE3iir-PunE,55743
17
+ pygeodesy/ellipsoidalBase.py,sha256=UpmJfjAuC7pvN9VIxLXveAmotPVW7oL2APAJUTi34Uc,55711
18
18
  pygeodesy/ellipsoidalBaseDI.py,sha256=PbSJkUUHpRGYgnnciMD-sWqTCReZv_FAc8SUonF3ZbI,38544
19
- pygeodesy/ellipsoidalExact.py,sha256=YVGVUmBTYu4NuYZdIx2f6zCCXM6Tqbv2nlkXQBqhvus,16973
20
- pygeodesy/ellipsoidalGeodSolve.py,sha256=wHv9UHYqnoU_PH8zgRJ-kA1-o-7zZLs1-O_zZHSQb1U,16666
21
- pygeodesy/ellipsoidalKarney.py,sha256=5RfQzNJFq4VklDnr3TRo6kh29rcQ4D7XkXUr_2Zqf38,18721
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=5syxUVS5RbTz9ZATU4ViegJPFBpdZWt6i8ZGVInype4,26122
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=JkZzRytShhZsLnS-t031UA49DZnKXjob6ocGQZKI-GA,45020
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=sIN7mW2KOiK0yU93mvmHo1OOTkGxKvwRinvyr_Qdf6I,37689
29
+ pygeodesy/fmath.py,sha256=QLUVgzjTuz2NuoxCdx12T2P7nS_5HPxYf2892278SHU,37788
30
30
  pygeodesy/formy.py,sha256=7-CdPiagdVrbDMjWieX_guN4RvFVCYKOM3yDKSFPRWU,69777
31
- pygeodesy/frechet.py,sha256=k-6pWb3WQAXXIUdAzG2AnFxvnmK7k-GHj4CoYdzDNbg,35592
31
+ pygeodesy/frechet.py,sha256=dBnQ5ePuaUdKv62-e9RfovFDxELsZPQEKMLww9NOf7Q,35588
32
32
  pygeodesy/fstats.py,sha256=M6UOrwmeGp6kjYuYfc6Iq9ibMJAFNm6D4C5GnvlJeuM,28348
33
- pygeodesy/fsums.py,sha256=3pXl8rfDPeKzXHEhtf9qNzBtUme4ckskDx3HWfJbfyg,103988
33
+ pygeodesy/fsums.py,sha256=I2yr6XtQH4Mf4qaiSuta2U_sKc_N0xCc7cIez9YLVo4,104978
34
34
  pygeodesy/gars.py,sha256=AXioT4Lh1cwrd7fF6dHcVJw-9vu2oAnZrzo_ka2Y3Ts,11761
35
- pygeodesy/geodesici.py,sha256=wPUDlRPOcj3MvvWA0CtnZvC30t1onKyZYvR51iCjgks,74891
36
- pygeodesy/geodesicw.py,sha256=dafScZ4nVuC_vlHXuYlSan32CsIEiL9uNcJYfnY1NtQ,29004
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=Uke9Lvb0QzMicWyE_H6dwYoCGhby3-1rCAQ-TIoCSgo,86129
40
- pygeodesy/hausdorff.py,sha256=3iDV4FetRrHcz2D1ddswx56XNi18zzCE2HMTDDoK6sI,32273
41
- pygeodesy/heights.py,sha256=FfBP1-Zw9XCjp3sBrTqtgZr_KKeejne2cizW0Lhkg_U,41014
42
- pygeodesy/internals.py,sha256=0jfelLhG50VY0hgy2qzqUvEFDJrcLDfpI_eNs4Go6BI,24028
43
- pygeodesy/interns.py,sha256=IBM_RuZDmP__4TUx9MLCU3L-Vx5uZz0VBi2eoH0hV44,23467
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=xlkRlmg66XRdL1ale2sWHhxfostQU86II4qwNyk-ewM,40938
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=N31gphU0nSrc-i2CeJYux7CgbHrTfHwAXajta-mV57s,25790
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=ALaBNSPLpaDjFTtwdYeTVqMZhGqLLiERTCAmTrGrjd0,24608
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=T3vZJV7FSb7Y_cZJDZeIuBL_qh-YvRNBNOuQABwXPp4,32087
63
- pygeodesy/sphericalNvector.py,sha256=uS40EpEQfVaz3-fwFBNfHg4gOkk1CWcm1tHrvfpQbmc,54824
64
- pygeodesy/sphericalTrigonometry.py,sha256=fATw2WUWvY3smtg0vwIczIsl9GamsjwJ3zEwM-subv0,64110
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=djVevQCHZWfzbwmPIZRpPFeKY6pkrOAsydrYAW4pqK8,40309
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=KXnzEGNtOtOke01y72dkIgT6sAwOP3zd6wgXho1F3T4,2468
106
- pygeodesy/geodesicx/__main__.py,sha256=ugi6c-4y91WOMJIL0N-wgXhoGhV90QJIFji2MaIGLiA,4329
107
- pygeodesy/geodesicx/gx.py,sha256=nvErvXV6ELc5_B2qBffFMf_n6qbk_g4ewChEuzbgVKI,60791
108
- pygeodesy/geodesicx/gxarea.py,sha256=zedg2zYlQv4DK0gwr3JeQWdtWcFuLSjzls8ddrk4Av0,19461
109
- pygeodesy/geodesicx/gxbases.py,sha256=EF9IL_oQBSlF70_ROag-DRBoU-ASWKlX-l-wfrUEQYs,6130
110
- pygeodesy/geodesicx/gxline.py,sha256=WaptQVCDqdVoyhLOP2e0g5fq-UuDOjz86B1bEjLs1SY,27653
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.5.25.dist-info/METADATA,sha256=mvciPhcidpH1u2mDSmMdSRQykcl7CDCqanD46bFFzM0,20102
117
- pygeodesy-25.5.25.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
118
- pygeodesy-25.5.25.dist-info/top_level.txt,sha256=cEQPatCXzKZqrivpULC5V5fuy9_V_bAwaP_gUGid7pQ,10
119
- pygeodesy-25.5.25.dist-info/RECORD,,
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,,