pygeodesy 24.8.4__py2.py3-none-any.whl → 24.9.9__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.
Files changed (76) hide show
  1. {PyGeodesy-24.8.4.dist-info → PyGeodesy-24.9.9.dist-info}/METADATA +17 -16
  2. PyGeodesy-24.9.9.dist-info/RECORD +118 -0
  3. {PyGeodesy-24.8.4.dist-info → PyGeodesy-24.9.9.dist-info}/WHEEL +1 -1
  4. pygeodesy/__init__.py +23 -23
  5. pygeodesy/__main__.py +46 -47
  6. pygeodesy/auxilats/_CX_4.py +104 -181
  7. pygeodesy/auxilats/_CX_6.py +152 -277
  8. pygeodesy/auxilats/_CX_8.py +211 -438
  9. pygeodesy/auxilats/_CX_Rs.py +222 -0
  10. pygeodesy/auxilats/__init__.py +2 -2
  11. pygeodesy/auxilats/__main__.py +30 -38
  12. pygeodesy/auxilats/auxDST.py +2 -2
  13. pygeodesy/auxilats/auxLat.py +28 -36
  14. pygeodesy/auxilats/auxily.py +30 -50
  15. pygeodesy/basics.py +18 -7
  16. pygeodesy/booleans.py +10 -11
  17. pygeodesy/cartesianBase.py +5 -5
  18. pygeodesy/constants.py +35 -34
  19. pygeodesy/ellipsoidalBase.py +18 -15
  20. pygeodesy/ellipsoidalExact.py +2 -2
  21. pygeodesy/ellipsoidalGeodSolve.py +2 -2
  22. pygeodesy/ellipsoidalKarney.py +2 -2
  23. pygeodesy/ellipsoidalNvector.py +2 -2
  24. pygeodesy/ellipsoidalVincenty.py +7 -6
  25. pygeodesy/elliptic.py +154 -88
  26. pygeodesy/epsg.py +3 -3
  27. pygeodesy/etm.py +71 -59
  28. pygeodesy/fmath.py +99 -90
  29. pygeodesy/fsums.py +201 -14
  30. pygeodesy/gars.py +9 -8
  31. pygeodesy/geodesici.py +6 -5
  32. pygeodesy/geodesicx/_C4_24.py +1 -3
  33. pygeodesy/geodesicx/_C4_27.py +1 -3
  34. pygeodesy/geodesicx/_C4_30.py +1 -3
  35. pygeodesy/geodesicx/__init__.py +1 -1
  36. pygeodesy/geodesicx/__main__.py +44 -46
  37. pygeodesy/geodesicx/gx.py +3 -3
  38. pygeodesy/geodesicx/gxarea.py +5 -5
  39. pygeodesy/geodesicx/gxbases.py +32 -18
  40. pygeodesy/geodsolve.py +3 -3
  41. pygeodesy/geohash.py +18 -11
  42. pygeodesy/geoids.py +293 -315
  43. pygeodesy/heights.py +150 -158
  44. pygeodesy/internals.py +70 -9
  45. pygeodesy/interns.py +4 -4
  46. pygeodesy/karney.py +83 -60
  47. pygeodesy/ktm.py +4 -4
  48. pygeodesy/latlonBase.py +13 -7
  49. pygeodesy/lazily.py +13 -8
  50. pygeodesy/ltp.py +5 -6
  51. pygeodesy/ltpTuples.py +7 -1
  52. pygeodesy/mgrs.py +47 -42
  53. pygeodesy/named.py +8 -4
  54. pygeodesy/namedTuples.py +14 -1
  55. pygeodesy/osgr.py +7 -7
  56. pygeodesy/points.py +2 -2
  57. pygeodesy/props.py +7 -6
  58. pygeodesy/resections.py +7 -7
  59. pygeodesy/rhumb/__init__.py +1 -1
  60. pygeodesy/rhumb/aux_.py +42 -60
  61. pygeodesy/rhumb/solve.py +3 -3
  62. pygeodesy/simplify.py +10 -10
  63. pygeodesy/sphericalBase.py +3 -3
  64. pygeodesy/sphericalTrigonometry.py +2 -2
  65. pygeodesy/streprs.py +3 -3
  66. pygeodesy/triaxials.py +207 -201
  67. pygeodesy/units.py +3 -3
  68. pygeodesy/unitsBase.py +4 -4
  69. pygeodesy/utmupsBase.py +3 -3
  70. pygeodesy/vector2d.py +158 -51
  71. pygeodesy/vector3d.py +13 -52
  72. pygeodesy/vector3dBase.py +81 -63
  73. pygeodesy/webmercator.py +3 -3
  74. pygeodesy/wgrs.py +20 -22
  75. PyGeodesy-24.8.4.dist-info/RECORD +0 -117
  76. {PyGeodesy-24.8.4.dist-info → PyGeodesy-24.9.9.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyGeodesy
3
- Version: 24.8.4
3
+ Version: 24.9.9
4
4
  Summary: Pure Python geodesy tools
5
5
  Home-page: https://GitHub.com/mrJean1/PyGeodesy
6
6
  Author: Jean M. Brouwers
@@ -8,7 +8,7 @@ Author-email: mrJean1@Gmail.com
8
8
  Maintainer: Jean M. Brouwers
9
9
  Maintainer-email: mrJean1@Gmail.com
10
10
  License: MIT
11
- Keywords: AER Albers altitude Andoyer annulus antipode area attitude Authalic auxiliary azimuth azimuthal azimuth-elevation-range bearing bank Barsky Barth beta boolean cached Cagnoli cartesian Cassini Cassini-Soldner chord circle-intersections circumcenter circumcircle circumradius clip Cohen Cohen-Sutherland Collins composite conformal conic constants contact-triangle Cook Correia cosines-law coverage curvature cylindrical datum deprecation deficit development discrete distance Douglas earth east-north-up eccentricity ECEF elevation ellipsoid ellipsoidal-latitude-beta ellipsoidal-longitude-omega elliptic ENU EPSG equal-area equidistant equirectangular ETM ETRF Euclidean even-odd-rule ExactTM excess Farrell Farrell-Barth flattening Field-Of-View fmath footprint Forster Forster-Hormann-Popa Forsythe FOV fractional Frechet Fréchet frustum Fsum GARS geocentric GeoConvert GeodesicExact geodesy geodetic GeodSolve GeodTest geographiclib Geohash geoid geoidHeight GeoidHeights georef Girard gnomonic gons grades gradians Greiner Greiner-Hormann Hartzell Hausdorff Haversine heading height Heron Hodgman horizon Hormann Hubeny IDW incenter incirle infix_@_operator inradius intermediate interpolate intersect intersection intersection3d intersections IntersectTool Inverse-Distance-Weighting Isometric ITRF Jacobi Jacobi-Conformal Jarque-Bera Jekel Karney Krueger Krüger kurtosis Lambert latitude law-of-cosines least-squares Lesh L_Huilier LHuilier Liang Liang-Barsky linearize Line-Of-Sight LocalCartesian local-tangent-plane local-x-y-z longitude LOS loxodrome lstsq LTP lune LV03 LV95 mean memoize memoized Mercator Meeus MGRS nearest NED Niemeyer normalize Norrdine north-east-down numpy n-vector Nvector oblate omega orthographic orthometric-height OSGB OSGR overlap parallel parallel-of-latitude Parametric path-intersection perimeter Peucker Pierlot pitch plumb Point-Of-View polar Popa POV precision-cubic-root precision-hypotenuse precision-powers precision-running-summation precision-square-root precision-summation prolate Pseudo-Mercator PyGeodesy PyInstaller PyPy radical radii radius Ramer Ramer-Douglas-Peucker Rectifying Reduced resect resection Rey-Jer Reumann Reumann-Witkam rhumb RhumbSolve running-linear-regression running-statistics running-stats running-summation scipy secant semi-perimeter sexagecimal simplify skewness Snellius Snellius-Pothenot Snyder Soddy Soddy-circles Soldner sphere sphere-intersections spherical-deficit spherical-excess spherical-triangle standard-deviation stereographic Sudano surface-area Sutherland Sutherland-Hodgman tangent-circles Terrestrial-Reference-Frame Thomas Tienstra tilt TMcoords TMExact toise transverse TransverseMercatorExact TRF triangle triangulate triaxial triaxial-ellipsoid trigonometry trilaterate trilaterate-2d trilaterate-3d umbilic-point unit unroll UPS UTM UTM/UPS variance velocities Veness Vermeille viewing-frustum Vincenty Visvalingam Visvalingam-Whyatt volume volumetric Web-Mercator Welford WGRS WGS Whyatt Wildberger Witkam winding-number XYZ yaw You
11
+ Keywords: AER Albers altitude Andoyer annulus antipode area attitude Authalic auxiliary azimuth azimuthal azimuth-elevation-range bearing bank Barsky Barth beta bi-quadratic boolean cached Cagnoli cartesian Cassini Cassini-Soldner chord circle-intersections circumcenter circumcircle circumradius clip Cohen Cohen-Sutherland Collins composite conformal conic constants contact-triangle Cook Correia cosines-law coverage curvature cylindrical datum deprecation deficit development discrete distance Douglas earth east-north-up eccentricity ECEF elevation ellipsoid ellipsoidal-latitude-beta ellipsoidal-longitude-omega elliptic ENU EPSG equal-area equidistant equirectangular ETM ETRF Euclidean even-odd-rule ExactTM excess Farrell Farrell-Barth Field-Of-View flattening fma fmath footprint Forster Forster-Hormann-Popa Forsythe FOV fractional Frechet Fréchet frustum Fsum fused-multiply-add GARS geocentric GeoConvert GeodesicExact geodesy geodetic GeodSolve GeodTest geographiclib Geohash geoid geoidHeight GeoidHeights georef Girard gnomonic gons grades gradians Greiner Greiner-Hormann Hartzell Hausdorff Haversine heading height Heron Hodgman horizon Hormann Hubeny IDW incenter incirle infix_@_operator inradius intermediate interpolate intersect intersection intersection3d intersections IntersectTool Inverse-Distance-Weighting Isometric ITRF Jacobi Jacobi-Conformal Jarque-Bera Jekel Karney Krueger Krüger kurtosis Lambert latitude law-of-cosines least-squares Lesh L_Huilier LHuilier Liang Liang-Barsky linearize Line-Of-Sight LocalCartesian local-tangent-plane local-x-y-z longitude LOS loxodrome lstsq LTP lune LV03 LV95 mean memoize memoized Mercator Meeus MGRS nearest NED Niemeyer normalize Norrdine north-east-down numpy n-vector Nvector oblate omega orthographic orthometric-height OSGB OSGR overlap parallel parallel-of-latitude Parametric path-intersection perimeter Peucker Pierlot pitch plumb Point-Of-View polar Popa POV precision-cubic-root precision-hypotenuse precision-powers precision-running-summation precision-square-root precision-summation prolate Pseudo-Mercator PyGeodesy PyInstaller PyPy quartic radical radii radius Ramer Ramer-Douglas-Peucker Rectifying Reduced resect resection Rey-Jer Reumann Reumann-Witkam rhumb RhumbSolve running-linear-regression running-statistics running-stats running-summation scipy secant semi-perimeter sexagecimal simplify skewness Snellius Snellius-Pothenot Snyder Soddy Soddy-circles Soldner sphere sphere-intersections spherical-deficit spherical-excess spherical-triangle squared-quartic standard-deviation stereographic Sudano surface-area Sutherland Sutherland-Hodgman tangent-circles Terrestrial-Reference-Frame Thomas Tienstra tilt TMcoords TMExact toise transverse TransverseMercatorExact TRF triangle triangulate triaxial triaxial-ellipsoid trigonometry trilaterate trilaterate-2d trilaterate-3d TwoProduct TwoSum umbilic-point unit unroll UPS UTM UTM/UPS variance velocities Veness Vermeille viewing-frustum Vincenty Visvalingam Visvalingam-Whyatt volume volumetric Web-Mercator Welford WGRS WGS Whyatt Wildberger Witkam winding-number XYZ yaw You zenzi-cubic zenzi-quartic
12
12
  Classifier: Development Status :: 5 - Production/Stable
13
13
  Classifier: Environment :: Console
14
14
  Classifier: Intended Audience :: Developers
@@ -33,8 +33,8 @@ earth models using precision trigonometric, vector-based, exact, elliptic, itera
33
33
  approximate methods for geodetic (lat-/longitude), geocentric (ECEF_ cartesian) and certain
34
34
  `triaxial ellipsoidal`_ coordinates.
35
35
 
36
- Transcoded from `JavaScript originals`_ by *Chris Veness (C) 2005-2022* and from several `C++
37
- classes`_ by *Charles F.F. Karney (C) 2008-2023* and published under the same `MIT License`_.
36
+ Transcoded from `JavaScript originals`_ by *Chris Veness (C) 2005-2024* and from several `C++
37
+ classes`_ by *Charles F.F. Karney (C) 2008-2024* and published under the same `MIT License`_.
38
38
 
39
39
  There are four modules for ellipsoidal earth models, *ellipsoidalExact*, *-Karney*, *-Vincenty*
40
40
  and *-Nvector* and two for spherical ones, *sphericalTrigonometry* and *-Nvector*. Each module
@@ -115,36 +115,37 @@ line: ``epydoc --html --no-private --no-source --name=PyGeodesy --url=... -v pyg
115
115
  Tests
116
116
  =====
117
117
 
118
- The tests ran with Python 3.13.0b4, 3.12.4 (with geographiclib_ 2.0, GeodSolve_ 2.3, IntersectTool_ 2.3
119
- and RhumbSolve_ 2.3), 3.11.5 (with geographiclib_ 2.0, numpy_ 1.24.2 and scipy_ 1.10.1), Python 3.10.8
120
- (with geographiclib_ 2.0, numpy_ 1.23.3, scipy_ 1.9.1, GeoConvert_ 2.3, GeodSolve_ 2.3), Python 3.9.6
121
- and Python 2.7.18 (with geographiclib_ 1.50, numpy_ 1.16.6, scipy_ 1.2.2, GeoConvert_ 2.3, GeodSolve_
122
- 2.3, IntersectTool_ 2.3 and RhumbSolve_ 2.3), all on macOS 14.5 Sonoma in 64-bit.
118
+ The tests ran with Python 3.13.0rc1, 3.12.5 (with geographiclib_ 2.0, numpy_ 2.1.0, scipy_ 1.14.1,
119
+ GeodSolve_ 2.3, IntersectTool_ 2.3 and RhumbSolve_ 2.3), 3.11.5 (with geographiclib_ 2.0, numpy_
120
+ 1.24.2 and scipy_ 1.10.1), Python 3.10.8 (with geographiclib_ 2.0, numpy_ 1.23.3, scipy_ 1.9.1,
121
+ GeoConvert_ 2.3, GeodSolve_ 2.3), Python 3.9.6 and Python 2.7.18 (with geographiclib_ 1.50, numpy_
122
+ 1.16.6, scipy_ 1.2.2, GeoConvert_ 2.3, GeodSolve_ 2.3, IntersectTool_ 2.3 and RhumbSolve_ 2.3),
123
+ all on macOS 14.6.1 Sonoma in 64-bit.
123
124
 
124
125
  All tests ran with and without ``lazy import`` for Python 3 and with command line option ``-W default``
125
126
  and env variable ``PYGEODESY_WARNINGS=on`` for all Python versions. The results of those tests are
126
127
  included in the distribution files.
127
128
 
128
- Python 3.13.0b4, 3.12.4, 3.11.5 and 3.10.8 run on Apple M1 Silicon (``arm64``), *natively*. Python 2.7.18
129
+ Python 3.13.0rc1, 3.12.5, 3.11.5 and 3.10.8 run on Apple M1 Silicon (``arm64``), *natively*. Python 2.7.18
129
130
  runs on Intel (``x86_64``) or Intel *emulation* (\"``arm64_x86_64``\", see function `pygeodesy.machine`_).
130
131
 
131
- Test coverage has been measured with coverage_ 7.6.0 using Python 3.12.4, 3.11.5 and 3.10.8. The complete
132
+ Test coverage has been measured with coverage_ 7.6.0 using Python 3.12.5, 3.11.5 and 3.10.8. The complete
132
133
  coverage report in HTML and a PDF summary are included in the distribution files.
133
134
 
134
- The tests also ran with Python 3.12.4 (and geographiclib_ 2.0) on `Debian 12`_ in 64-bit only and with
135
+ The tests also ran with Python 3.12.5 (and geographiclib_ 2.0) on `Debian 12`_ in 64-bit only and with
135
136
  Python 3.12.3 (and geographiclib_ 2.0) on `Windows 2019Server`_ in 64-bit only and with Python 2.7.18
136
137
  (and with geographiclib_ 1.52) on `Windows 10`_ in 64- and 32-bit.
137
138
 
138
139
  A single-File and single-Directory application with ``pygeodesy`` has been bundled using PyInstaller_
139
140
  3.4 and 64-bit Python 3.7.4 and 3.7.3 on macOS 10.13.6 High Sierra.
140
141
 
141
- Previously, the tests were run with Python 3.12.0-3, 3.11.2-4, 3.10.1-7, 3.9.1, 3.8.7, 3.7.1, 2.7.15, PyPy_
142
+ Previously, the tests were run with Python 3.12.0-4, 3.11.2-4, 3.10.1-7, 3.9.1, 3.8.7, 3.7.1, 2.7.15, PyPy_
142
143
  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,
143
144
  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)
144
145
  on `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,
145
146
  2.7.10 and 2.6.9 (and numpy_ 1.19.0, 1.16.5, 1.16.2, 1.15.2, 1.14.0, 1.13.1, 1.8.0rc1 or 1.6.2 and scipy_
146
147
  1.5.0), PyPy_ 7.3.0 (Python 2.7.13 and 3.6.9), PyPy_ 6.0.0 (Python 2.7.13 and 3.5.3) and `Intel-Python`_
147
- 3.5.3 (and numpy_ 1.11.3) on macOS 14.0-4.1 Sonoma, 13.0-5.2 Ventura, 12.1-6 Monterey, 11.0-5.2-6.1 Big
148
+ 3.5.3 (and numpy_ 1.11.3) on macOS 14.0-5 Sonoma, 13.0-5.2 Ventura, 12.1-6 Monterey, 11.0-5.2-6.1 Big
148
149
  Sur (aka 10.16), 10.15.3, 10.15.5-7 Catalina, 10.14 Mojave, 10.13.6 High Sierra and 10.12 Sierra, MacOS X
149
150
  10.11 El Capitan and/or MacOS X 10.10 Yosemite, with Pythonista_ 3.2 (with geographiclib 1.50 or 1.49 and
150
151
  numpy 1.8.0) on iOS 14.4.2, 11.4.1, 12.0-3 on iPad4, iPhone6, iPhone10 and/or iPhone12, with Pythonista_
@@ -155,11 +156,11 @@ Notes
155
156
  =====
156
157
 
157
158
  All Python source code has been statically checked_ with PyChecker_, PyFlakes_, PyCodeStyle_ (formerly Pep8)
158
- and McCabe_ using Python 2.7.18 and with Flake8_ using Python 3.11.5, both in 64-bit on macOS 14.5 Sonoma.
159
+ and McCabe_ using Python 2.7.18 and with Flake8_ using Python 3.11.5, both in 64-bit on macOS 14.6.1 Sonoma.
159
160
 
160
161
  For a summary of all *Karney*-based functionality in ``pygeodesy``, see module karney_.
161
162
 
162
- *Last updated: Aug 04, 2024.*
163
+ *Last updated: Sep 09, 2024.*
163
164
 
164
165
  License
165
166
  =======
@@ -0,0 +1,118 @@
1
+ pygeodesy/LICENSE,sha256=YfgAiyxOwY6P9Kkb1_5XN81nueTLrpb3Ffkv3EuPgFU,1144
2
+ pygeodesy/__init__.py,sha256=ohpvlHHdgFq_uc-u1gq7deCyTlzB_nq-Lc8tZGWN-Go,42225
3
+ pygeodesy/__main__.py,sha256=OupAiDFT_RXFw1Lh6C8bVG9NaonV_Wy6jibN_hA4aJg,5442
4
+ pygeodesy/albers.py,sha256=JXqeWAteV2N601e5R-D7bCsa8qAYv3oWm7M3R4uszXM,31078
5
+ pygeodesy/azimuthal.py,sha256=erI5DTM0-Nr5YC2LnBTVNbUKlrnnXJUwKe0SCQ7-Soc,50223
6
+ pygeodesy/basics.py,sha256=5fuWL_azUd6DxSGUwB4RJERH_ZrBB0vVqDc9wvxpIHo,30116
7
+ pygeodesy/booleans.py,sha256=mWNdmk5cYfcH3v0sEpU3Aw5sFLp_dq5mXJodzenOEm0,73506
8
+ pygeodesy/cartesianBase.py,sha256=jzPJR4_3Yp5jmK7A5inGOXskDebs7YMdjQzINHjzkP8,46935
9
+ pygeodesy/clipy.py,sha256=3ysIEWQ89HjvLnSlZm0nZAt9EN5AQxIs1sLLM8yF9zM,27675
10
+ pygeodesy/constants.py,sha256=vW6CWRa62hHJqmKhlPxI4Eu-cbLhoUYWYTd9ctfFo-8,19240
11
+ pygeodesy/css.py,sha256=rPr5EcGm_blVt72h-851ytpVxdPhx1MEqqGs3Ppx3eI,25651
12
+ pygeodesy/datums.py,sha256=-m9-cvUVOaJ92eeFgc3O54lel3WqnVYcS7o6WCXkNyw,34043
13
+ pygeodesy/dms.py,sha256=QxiRtyc8QSiW-egm6Mrcrgmi_deWz3YnYwIm82JS4TU,44443
14
+ pygeodesy/ecef.py,sha256=_yy_TIUGsXmEZ7aRcmchbJwTp7x__edx6EPiS3Xznes,59587
15
+ pygeodesy/elevations.py,sha256=4FuVcVNb_D09gmcvUlck344N4f7Jms76SIRrdutvKjk,10801
16
+ pygeodesy/ellipsoidalBase.py,sha256=IDu0-cKGhkCk3Aj16DJXt2gxjGYsFcjSTrvwG5GbATs,55385
17
+ pygeodesy/ellipsoidalBaseDI.py,sha256=OxbSBntV9xiOgsb-0un0cUYIVoPiIiH-lt3baBkbaS8,38400
18
+ pygeodesy/ellipsoidalExact.py,sha256=wmIGgZyd0cvjswP4KOeDuEcuagjwQQRRq1cmseRoD-Q,16946
19
+ pygeodesy/ellipsoidalGeodSolve.py,sha256=fAT4b3HXkM6i1W_C0rb4vbSxZqr4c6rS7PIvGF2ad7s,16666
20
+ pygeodesy/ellipsoidalKarney.py,sha256=qvJa8kZ4SgaRR2UbjtkcRxw_CRbwhXoUT4Dn_6DJ6Ag,18721
21
+ pygeodesy/ellipsoidalNvector.py,sha256=rzjFx-y1Z2apUK4yYelcZMYelYFTU-diFGI6o-nxkUk,30039
22
+ pygeodesy/ellipsoidalVincenty.py,sha256=hSQ7s6QGDJSsrZvP7KwM1Q4wJz0YjyFjODF6XPGZ5WQ,25946
23
+ pygeodesy/ellipsoids.py,sha256=i7piclEb17hYt5wqL7Q0p5qLuRVvz3yonUSUcvmiozc,108005
24
+ pygeodesy/elliptic.py,sha256=M30EjB1Il_5Y8E94rN5hz4zPhYBQNoCo5Lj0TvCkiRE,45010
25
+ pygeodesy/epsg.py,sha256=Vq_M1g7Z0x5Noqsmt6OCQkPdYJj4jpWObtixL5pAjDA,8220
26
+ pygeodesy/errors.py,sha256=-UnQ1GhkiTR6uBd0z0vd_pFEmjWXlOESRDwMdxY_JD0,30605
27
+ pygeodesy/etm.py,sha256=G6dtN1LQAoft5mcUoxVgxHPnl9s8NBsXl-IlS8WP7jo,45328
28
+ pygeodesy/fmath.py,sha256=7Bokavxcu4oFGMKHCn4JxbETDisbBkWJqJx-KiCtHPM,34374
29
+ pygeodesy/formy.py,sha256=PrAlrSASKIXeFvawueyo7kRC-UJJSEQR3APhirHqhtE,75032
30
+ pygeodesy/frechet.py,sha256=F6TYbOEYSOFcll6nvp4GhqafUWXh1umAKb1QaMYQtuM,34372
31
+ pygeodesy/fstats.py,sha256=4eIhzSCMnn-2nVP3Q-5cCWCI-rvH0CE-zkk9hp3Pvn8,28642
32
+ pygeodesy/fsums.py,sha256=Zk65c445gAz7Ld_iXL1zZ3ZtkA_gM2edDOf9nJSEnXE,87433
33
+ pygeodesy/gars.py,sha256=KRlyZUv1euEl7ZkDYSZG913GAfFMRG2m2hp37ObYY_Y,11829
34
+ pygeodesy/geodesici.py,sha256=I9e7saiO5lRodOXJk5DSQxladVcGfT0FR6KJSJVCw7Y,75015
35
+ pygeodesy/geodesicw.py,sha256=oEs96Epw839BH3rVpxVdpXuQRBudbOftUsSBUid8fcc,28710
36
+ pygeodesy/geodsolve.py,sha256=_Vlb1c3j8n7dW99AinJ2HA_DiV4YnlRjbBY7Ha8AvEk,23553
37
+ pygeodesy/geohash.py,sha256=CHJUhvV26PLpjkaTwF4fS42ZRSSsnpH2zyGvadPxqG4,40201
38
+ pygeodesy/geoids.py,sha256=EWKfkmdl2GSL0eQCr79ndDwSGXYOPChGokxocCy7YuM,82371
39
+ pygeodesy/hausdorff.py,sha256=-aKtRbMefDSoIk4V3wCvNrXPZ7Bqk1P6-XuGuI7o8Zc,34770
40
+ pygeodesy/heights.py,sha256=Gv3b1xC7I0tBvTO-DdmWVW8A3ZV3RKxY3jveUUZso38,42909
41
+ pygeodesy/internals.py,sha256=TSJueckcn6dQddZUhLR0Vf9XN-Whm85IYmSvhVZbB_s,22550
42
+ pygeodesy/interns.py,sha256=XvNyWODsUd8_vBLX9XLmcU9Bq97L0nahhF-gvLivzKA,23278
43
+ pygeodesy/iters.py,sha256=xPH0ytomvJeKHu717Fjzi3QbRrEikO6n7vqkY_IDz1k,20311
44
+ pygeodesy/karney.py,sha256=2G5Y9FvZlb8cTrDHtHF71n3gxCvGLxlWUgVwXGmAnjA,39033
45
+ pygeodesy/ktm.py,sha256=eUWYKhoPou1AiWiNz-xI8eDr-q-RvKDY6newAmYP26Q,27239
46
+ pygeodesy/latlonBase.py,sha256=kCK6IcVg4oeGPYkIU0rgKbZLCRo36wC9NtY5OKBlpeQ,79106
47
+ pygeodesy/lazily.py,sha256=jIfuqXPh-Gvg4H2XeGgbKoOGuc49SR_sMVMoBEVq4LQ,47370
48
+ pygeodesy/lcc.py,sha256=oDooTzFHnqsMtSKmmmfEbypHpdlPltfo7Mt0pAO4-_A,25669
49
+ pygeodesy/ltp.py,sha256=ZMdfJHLKeDHSoymmjWfoAZTtrdoADf0O6WccRf53L2w,50745
50
+ pygeodesy/ltpTuples.py,sha256=oNTxtjxmHveMDQvPdQCHl-JzSJJGb1jFRrF8SEG_Ojw,58480
51
+ pygeodesy/mgrs.py,sha256=B3_BATbbCwBXKcxRtyX4PKScyWl0SmhAeXF8CVoc0_A,29903
52
+ pygeodesy/named.py,sha256=-uqZk54BC4rFtuVh4LwfWty704DVPLEIwI1EzpNImIg,52350
53
+ pygeodesy/namedTuples.py,sha256=e0rV1Zb2tbx8fztXcSkUFsRTmZtye8B5i_Hi4vBUndU,28758
54
+ pygeodesy/nvectorBase.py,sha256=rClYu26Bof9DsM1F60i0eccktNo8xYA_vkThwoY7N4o,28644
55
+ pygeodesy/osgr.py,sha256=3Qon_oWuVrIb1vYnd3ae3L5MDkjp_tngyVdiYHuL4to,30821
56
+ pygeodesy/points.py,sha256=e8ri5Pu5snpN4P6pPbGxmW_yx4-ApD9mOBuR0REoflA,64409
57
+ pygeodesy/props.py,sha256=3BIkcaEDwyhSMJle6ufBaji0R0FrD64G3nuR4tPsnrU,23819
58
+ pygeodesy/resections.py,sha256=fFthuI9EoO4WdY25Y_rCDN56gz2mPFsUypR3oGlh8Ks,43556
59
+ pygeodesy/simplify.py,sha256=vkOtO478sOjZHZBuSFvCaRh72qSDQuzXLQpMK1LKyYI,25232
60
+ pygeodesy/solveBase.py,sha256=oI_-FFjSPI1_yQ598hF6HFKUa4tLsAfbnWtKoQ-TJgE,19206
61
+ pygeodesy/sphericalBase.py,sha256=bDVuArfePzqcothiTTkyisUGrMDTallXKROjihotcn8,32239
62
+ pygeodesy/sphericalNvector.py,sha256=MiWcCy5CdvXsCa3963GeUMEnSYGhBiXzkoAEX_tGX4Q,56952
63
+ pygeodesy/sphericalTrigonometry.py,sha256=F84lPOSLj4Z2-f8xMjpqvTISuBpsjFwdF8fkuaEi5Hs,64077
64
+ pygeodesy/streprs.py,sha256=1szfCzFlVgsyJ0H_QFGtzyMfOJpyIZNfj34qvWNACM4,23041
65
+ pygeodesy/trf.py,sha256=CRFHmu0lFNtc41fddXavEkHmgnTFWEqR4RTFodcFKsw,119022
66
+ pygeodesy/triaxials.py,sha256=a9vdXmSqUXOneL0WpLriEFwNMW9EB6MpVbKYXuw_wi8,62562
67
+ pygeodesy/units.py,sha256=gHN-uzsOwIYjyhtWs0th0VHNY-fOiUiZo9G1cZi0oXg,35272
68
+ pygeodesy/unitsBase.py,sha256=ZZ-VDntCOTjSerQJf9aaLE_J0lozrpmUhynRBaCtg24,14060
69
+ pygeodesy/ups.py,sha256=zapIvzoVuj_FDGC6sr8O8ynPhfqXwUg-EFCVnJdM9Eo,23329
70
+ pygeodesy/utily.py,sha256=Zb6L9unzHHhp67znmQLLdizvyX6p4eczR1PDtcyWH-s,36189
71
+ pygeodesy/utm.py,sha256=lCp7mNEaJNrAYnbdPaNUKkhbsX_GdssTEkp68uYdMLI,31091
72
+ pygeodesy/utmups.py,sha256=g2Z_aEOt6fhV9f4fASlW4_K_O_P4zBsBbWfQV11mIKo,13196
73
+ pygeodesy/utmupsBase.py,sha256=S4s1Sehj9jSMy-XRxwtwVstG3QhyVt924V0FHu0cPIk,18730
74
+ pygeodesy/vector2d.py,sha256=O9a3uRIREL2k7G-pnpuacjBcAlKg75MnokjtfJB-nBs,39659
75
+ pygeodesy/vector3d.py,sha256=5oqlXXsm_YNGEMkVyKfmyp3qdMRxm-gzlK9V0_EK9hE,42687
76
+ pygeodesy/vector3dBase.py,sha256=UOy6W-r8nTZTOMvxUgFQN6cFQo9H4zw0efqtcSpyy8s,36154
77
+ pygeodesy/webmercator.py,sha256=fFQtTxIsjOE35_nX_mAgFv1Eov7AdcsCBjT2ONm3qmI,14934
78
+ pygeodesy/wgrs.py,sha256=6dO31uMKF-t-uQz58hdutilE2A5msOs5Bybq5Uq3qgk,15453
79
+ pygeodesy/auxilats/_CX_4.py,sha256=WsxGrwqEhdWBx-K5ocwwDuatIkDTZB-FwrqQITbcNU0,6829
80
+ pygeodesy/auxilats/_CX_6.py,sha256=PsaVhzOdCDyRuZ-SH6ZwbWrf_rAkidtwLuAQTlvv5XQ,11277
81
+ pygeodesy/auxilats/_CX_8.py,sha256=mxk12xvzOMNimyHM74fn9sFB0aUSBLojYqtenYhAekQ,18899
82
+ pygeodesy/auxilats/_CX_Rs.py,sha256=z7UXI7KUyURE44wGuLJE2on6SlgAZzfbay4jkbpON1U,7967
83
+ pygeodesy/auxilats/__init__.py,sha256=ywIs1e5wes3qq3dvCvX0VdxoGtFNQwBmY8Ar-07f9Kg,2881
84
+ pygeodesy/auxilats/__main__.py,sha256=pb0GWDrrg440xNvHvPAz-UTGrLu2uXp4g-RlbkW7P6c,3171
85
+ pygeodesy/auxilats/auxAngle.py,sha256=nr-su1loEbv1uVxg7_cEjH0M1DLyodsulPfq4NVT5kY,16745
86
+ pygeodesy/auxilats/auxDLat.py,sha256=3sq7Wc-ykpVbldNh10IZ3tIlJ7DcQFDlmZ4nOhJEgo0,10969
87
+ pygeodesy/auxilats/auxDST.py,sha256=BSHR0M3hQBR1KjF_BUJHrNzGXr2PblYXUQsMD5L1Kcc,10468
88
+ pygeodesy/auxilats/auxLat.py,sha256=7uxe7mtkY-9uSI3z2wmUNBqzCKyFujIpJU1v-8yDgds,31934
89
+ pygeodesy/auxilats/auxily.py,sha256=X1y4_qC40Th7CgmZILqoQCLAUQoyORcR5W-bN4X0W4I,7882
90
+ pygeodesy/deprecated/__init__.py,sha256=cBYqbh5Njkd5SnaJDaMUP6PL66HfLWii_JoLjnKfnP4,2815
91
+ pygeodesy/deprecated/bases.py,sha256=nxUtxscAg5cb7HEzTSmPJFafLc9Ad2SL5ovwkYaU5z8,1655
92
+ pygeodesy/deprecated/classes.py,sha256=gktUr5qYXCm8ztH6lfzFgaHKqMiw1tHc1Vw6i6DEvNA,12377
93
+ pygeodesy/deprecated/consterns.py,sha256=W-rQiw443_zCFEUzjCGykGND-i5P_ghEIyJUSGg7-Nc,1908
94
+ pygeodesy/deprecated/datum.py,sha256=s8Hke053RucP5ACvg3gdX8weQfGM0x59pQyHpY11eOs,1875
95
+ pygeodesy/deprecated/functions.py,sha256=EZMZe9WGkcbwmLDoWO2xKJyFlUkWAAMxmlbtCLa28lM,13866
96
+ pygeodesy/deprecated/nvector.py,sha256=_dZf84RdmPr7e7i8Yi683R-8Mqn0ipTqIsDhNl29hGo,2117
97
+ pygeodesy/deprecated/rhumbBase.py,sha256=d7YKW--dnRpobB2CSvhFsntWF0B5-HYJqID2pv5lD5k,1375
98
+ pygeodesy/deprecated/rhumbaux.py,sha256=n29xazYMbVG4MJkLjAGu8B88bbcFF5xnvuj9xSxjfIk,1428
99
+ pygeodesy/deprecated/rhumbsolve.py,sha256=QprjRfo5T1_C4ovaa1cffAcmNczzkhGIfmybAup9a9w,1431
100
+ pygeodesy/deprecated/rhumbx.py,sha256=OS0p_meaoVrpZe5UhK6qZljjlrGpL0pCHWw8gofw7ks,1425
101
+ pygeodesy/geodesicx/_C4_24.py,sha256=r5-So2i4z-OFY6NFYERUvhtxYHaYphPRgUUC3PWC5K4,90707
102
+ pygeodesy/geodesicx/_C4_27.py,sha256=Pkpns4kBAHxBcvi0f9l_3GQeE6qcrl123DccEQ593To,134215
103
+ pygeodesy/geodesicx/_C4_30.py,sha256=cseNhROi7DHi77kgdrXXDXO6yiiq00DNcX0HOVf2Rpg,201921
104
+ pygeodesy/geodesicx/__init__.py,sha256=Z-Pq7wWevRZeMdG2qqL7OE1b8hRUubyZE2w1GqF1OzI,2478
105
+ pygeodesy/geodesicx/__main__.py,sha256=wsJPK6lW_PsgVCR1ZJksgGhwxwrsMGSXhYkhpjbknTc,4188
106
+ pygeodesy/geodesicx/gx.py,sha256=yeNpMQbw_uWfs4KOQX8RMAQt6WNsG3zsGgmZRVgbQIk,60612
107
+ pygeodesy/geodesicx/gxarea.py,sha256=RbxhU4oXY6koFSCyJk9gsMlewaaTfXiGBAroexpEYjg,19423
108
+ pygeodesy/geodesicx/gxbases.py,sha256=AyvsjiSENqikJK6qpm55rDkUlBSmTDk_-FoqzzMFX1M,6130
109
+ pygeodesy/geodesicx/gxline.py,sha256=zNQF8lz9caHZlsUcL8NfjG02KIza39Q6Qd6XizDp_UI,27537
110
+ pygeodesy/rhumb/__init__.py,sha256=G8qo1yrLhKfd0yWiVUdJbIPj3udcmsgqKZqFD0PYfeA,2207
111
+ pygeodesy/rhumb/aux_.py,sha256=XN0zlNwhU525NdcHko-G_Igvc7-mzXbT7ypcVIt5ADw,16048
112
+ pygeodesy/rhumb/bases.py,sha256=awpP60K6EOzS753oXM-h9S6paS6FwoCnco8Zt8n81jY,54162
113
+ pygeodesy/rhumb/ekx.py,sha256=JsmdCatWKqsffF8jCh4HDu5IKt_kHq1qUdmP1LMuofY,24044
114
+ pygeodesy/rhumb/solve.py,sha256=d4RujlW8B7BFAHlrwfj2Bup-uXZZTpgKWgI2JJBqUGc,24059
115
+ PyGeodesy-24.9.9.dist-info/METADATA,sha256=NZ7vpJ3lZq-5fmen4MR9YO3yRCcEuJN8zhpO8QtbKe0,19876
116
+ PyGeodesy-24.9.9.dist-info/WHEEL,sha256=fS9sRbCBHs7VFcwJLnLXN1MZRR0_TVTxvXKzOnaSFs8,110
117
+ PyGeodesy-24.9.9.dist-info/top_level.txt,sha256=cEQPatCXzKZqrivpULC5V5fuy9_V_bAwaP_gUGid7pQ,10
118
+ PyGeodesy-24.9.9.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: bdist_wheel (0.44.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any
pygeodesy/__init__.py CHANGED
@@ -7,9 +7,9 @@ methods for geodetic (lat-/longitude), geocentric (U{ECEF<https://WikiPedia.org/
7
7
  cartesian) and certain U{triaxial ellipsoidal<https://GeographicLib.SourceForge.io/1.44/triaxial.html>}
8
8
  coordinates.
9
9
 
10
- Transcoded from U{JavaScript originals<https://GitHub.com/ChrisVeness/geodesy>} by I{Chris Veness (C) 2005-2022}
10
+ Transcoded from U{JavaScript originals<https://GitHub.com/ChrisVeness/geodesy>} by I{Chris Veness (C) 2005-2024}
11
11
  and from several U{C++ classes<https://GeographicLib.SourceForge.io/C++/doc/annotated.html>} by I{Charles F. F.
12
- Karney (C) 2008-2023} and published under the same U{MIT License<https://OpenSource.org/licenses/MIT>}**.
12
+ Karney (C) 2008-2024} and published under the same U{MIT License<https://OpenSource.org/licenses/MIT>}**.
13
13
 
14
14
  There are four modules for ellipsoidal earth models, C{ellipsoidalExact}, C{-Karney}, C{-Vincenty} and C{-Nvector}
15
15
  and two for spherical ones, C{sphericalTrigonometry} and C{-Nvector}. Each module provides a geodetic B{C{LatLon}}
@@ -17,7 +17,7 @@ and a geocentric B{C{Cartesian}} class with methods and functions to compute dis
17
17
  forward and reverse azimuth, initial and final bearing, intermediate and nearest points, intersections of geodesic,
18
18
  great circle and rhumb lines, circle intersections and secants, U{3-point resections
19
19
  <https://WikiPedia.org/wiki/Position_resection_and_intersection>}, triangulation, trilateration (by intersection,
20
- by overlap and in 3d), conversions and unrolling, among other things. For more information and further details see
20
+ by overlap and in 3-D), conversions and unrolling, among other things. For more information and further details see
21
21
  the U{documentation<https://mrJean1.GitHub.io/PyGeodesy>}, the descriptions of U{Latitude/Longitude
22
22
  <https://www.Movable-Type.co.UK/scripts/latlong.html>}, U{Vincenty
23
23
  <https://www.Movable-Type.co.UK/scripts/latlong-vincenty.html>} and U{Vector-based
@@ -41,12 +41,11 @@ Frames) and modules to encode and decode U{EPSG<https://EPSG.org>}, U{Geohashes
41
41
  <https://WikiPedia.org/wiki/World_Geographic_Reference_System>} and U{Garefs (GARS)
42
42
  <https://WikiPedia.org/wiki/Global_Area_Reference_System>}.
43
43
 
44
- Other modules provide U{Albers equal-area<https://GeographicLib.SourceForge.io/
45
- C++/doc/classGeographicLib_1_1AlbersEqualArea.html>} projections, U{equidistant
46
- <https://GeographicLib.SourceForge.io/C++/doc/classGeographicLib_1_1AzimuthalEquidistant.html>}
47
- and other I{azimuthal} projections, Lambert I{conformal conic} projections and
48
- positions, functions to clip paths or polygons of C{LatLon} points using the
49
- U{Cohen-Sutherland<https://WikiPedia.org/wiki/Cohen-Sutherland_algorithm>},
44
+ Other modules provide U{Albers equal-area
45
+ <https://GeographicLib.SourceForge.io/C++/doc/classGeographicLib_1_1AlbersEqualArea.html>} projections, U{equidistant
46
+ <https://GeographicLib.SourceForge.io/C++/doc/classGeographicLib_1_1AzimuthalEquidistant.html>} and other I{azimuthal}
47
+ projections, Lambert I{conformal conic} projections and positions, functions to clip paths or polygons of C{LatLon}
48
+ points using the U{Cohen-Sutherland<https://WikiPedia.org/wiki/Cohen-Sutherland_algorithm>},
50
49
  U{Forster-Hormann-Popa<https://www.ScienceDirect.com/science/article/pii/S259014861930007X>},
51
50
  U{Greiner-Hormann<http://www.inf.USI.CH/hormann/papers/Greiner.1998.ECO.pdf>},
52
51
  U{Liang-Barsky<https://www.CS.Helsinki.FI/group/goa/viewing/leikkaus/intro.html>} and
@@ -123,7 +122,8 @@ C{epydoc --html --no-private --no-source --name=PyGeodesy --url=... -v pygeodesy
123
122
  Tests
124
123
  =====
125
124
 
126
- The tests ran with Python 3.13.0b4, Python 3.12.4 (with U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0,
125
+ The tests ran with Python 3.13.0rc1, Python 3.12.5 (with U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0,
126
+ U{numpy<https://PyPI.org/project/numpy>} 2.1.0, U{scipy<https://PyPI.org/project/scipy>} 1.14.1,
127
127
  U{GeodSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.3,
128
128
  U{IntersectTool<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.3 and
129
129
  U{RhumbSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.3),
@@ -138,19 +138,19 @@ U{numpy<https://PyPI.org/project/numpy>} 1.16.6, U{scipy<https://PyPI.org/projec
138
138
  U{GeoConvert<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.3,
139
139
  U{GeodSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.3,
140
140
  U{IntersectTool<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.3 and
141
- U{RhumbSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.3), all in 64-bit on macOS 14.5 Sonoma.
141
+ U{RhumbSolve<https://GeographicLib.SourceForge.io/C++/doc/utilities.html>} 2.3), all in 64-bit on macOS 14.6.1 Sonoma.
142
142
 
143
143
  All tests ran with and without C{lazy import} for Python 3 and with command line option C{-W default} and
144
144
  env variable C{PYGEODESY_WARNINGS=on} for all Python versions. The results of those tests are included in
145
145
  the distribution files.
146
146
 
147
- Test coverage has been measured with U{coverage<https://PyPI.org/project/coverage>} 7.6.0 using Python 3.12.4,
147
+ Test coverage has been measured with U{coverage<https://PyPI.org/project/coverage>} 7.6.0 using Python 3.12.5,
148
148
  3.11.5 and 3.10.8. The complete coverage report in HTML and a PDF summary are included in the distribution files.
149
149
 
150
- Python 3.13.0b4, 3.12.4, 3.11.5 and 3.10.8 run on Apple M1 Silicon (C{arm64}), I{natively}. Python 2.7.18 runs on
150
+ Python 3.13.0rc1, 3.12.5, 3.11.5 and 3.10.8 run on Apple M1 Silicon (C{arm64}), I{natively}. Python 2.7.18 runs on
151
151
  Intel (C{x86_64}) or Intel I{emulation} ("C{arm64_x86_64}", see function L{machine<pygeodesy.machine>}).
152
152
 
153
- The tests also ran with Python 3.12.4 (and U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0) on U{Debian
153
+ The tests also ran with Python 3.12.5 (and U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0) on U{Debian
154
154
  12<https://Cirrus-CI.com/github/mrJean1/PyGeodesy/master>} in 64-bit only, with Python 3.12.3 (and
155
155
  U{geographiclib<https://PyPI.org/project/geographiclib>} 2.0) on U{Windows
156
156
  2019Server<https://CI.AppVeyor.com/project/mrJean1/pygeodesy>} in 64-bit only and with Python 2.7.18 (and
@@ -160,7 +160,7 @@ U{geographiclib<https://PyPI.org/project/geographiclib>} 1.52) on U{Windows
160
160
  A single-File and single-Directory application with C{pygeodesy} has been bundled using U{PyInstaller
161
161
  <https://PyPI.org/project/pyinstaller>} 3.4 and 64-bit Python 3.7.3 on macOS 10.13.6 High Sierra.
162
162
 
163
- Previously, the tests were run with Python 3.12.0-3, 3.11.2-4, 3.10.1-7, 3.9.6, 3.9.1, 3.8.7, 3.7.1, 2.7.15, U{PyPy
163
+ Previously, the tests were run with Python 3.12.0-4, 3.11.2-4, 3.10.1-7, 3.9.6, 3.9.1, 3.8.7, 3.7.1, 2.7.15, U{PyPy
164
164
  <https://PyPy.org>} 7.3.12 (Python 3.10.12), 7.3.1 (Python 3.6.9) and U{PyPy<https://PyPy.org>} 7.1.1 (Python
165
165
  2.7.13) (and U{geographiclib <https://PyPI.org/project/geographiclib>} 1.52, U{numpy<https://PyPI.org/project/numpy>}
166
166
  1.16.3, 1.16.4, 1.16.6, 1.19.0, 1.19.4, 1.19.5 or 1.22.4 and U{scipy<https://PyPI.org/project/scipy>} 1.2.1, 1.4.1,
@@ -169,7 +169,7 @@ Previously, the tests were run with Python 3.12.0-3, 3.11.2-4, 3.10.1-7, 3.9.6,
169
169
  1.16.5, 1.16.2, 1.15.2, 1.14.0, 1.13.1, 1.8.0rc1 or 1.6.2 and U{scipy<https://PyPI.org/project/scipy>} 1.5.0), U{PyPy
170
170
  <https://PyPy.org>} 7.3.0 (Python 2.7.13 and 3.6.9), U{PyPy<https://PyPy.org>} 6.0.0 (Python 2.7.13 and 3.5.3)
171
171
  and U{Intel-Python<https://software.Intel.com/en-us/distribution-for-python>} 3.5.3 (and U{numpy
172
- <https://PyPI.org/project/numpy>} 1.11.3) on macOS 14.0-4.1 Sonoma, 13.0-5.2 Ventura, 12.1-6 Monterey, 11.0-5.2-6.1
172
+ <https://PyPI.org/project/numpy>} 1.11.3) on macOS 14.0-5 Sonoma, 13.0-5.2 Ventura, 12.1-6 Monterey, 11.0-5.2-6.1
173
173
  Big Sur (aka 10.16), 10.15.3, 10.15.5-7 Catalina, 10.14 Mojave, 10.13.6 High Sierra and 10.12 Sierra, MacOS X
174
174
  10.11 El Capitan and/or MacOS X 10.10 Yosemite, with U{Pythonista<https://OMZ-Software.com/pythonista>}3.2 (with
175
175
  geographiclib 1.50 or 1.49 and numpy 1.8.0) on iOS 14.4.2, 11.4.1, 12.0-3 on iPad4, iPhone6, iPhone10 and/or
@@ -184,7 +184,7 @@ All Python source code has been statically U{checked<https://GitHub.com/ActiveSt
184
184
  Python/546532_PyChecker_postprocessor>} with U{PyChecker<https://PyPI.org/project/pychecker>}, U{PyFlakes
185
185
  <https://PyPI.org/project/pyflakes>}, U{PyCodeStyle<https://PyPI.org/project/pycodestyle>} (formerly Pep8) and
186
186
  U{McCabe<https://PyPI.org/project/mccabe>} using Python 2.7.18 and with U{Flake8<https://PyPI.org/project/flake8>}
187
- using Python 3.11.5, both in 64-bit on macOS 14.5 Sonoma.
187
+ using Python 3.11.5, both in 64-bit on macOS 14.6.1 Sonoma.
188
188
 
189
189
  For a summary of all I{Karney}-based functionality in C{pygeodesy}, see module U{karney
190
190
  <https://mrJean1.GitHub.io/PyGeodesy/docs/pygeodesy.karney-module.html>}.
@@ -338,7 +338,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.}
338
338
  @var S_MIN: Minutes symbol, default C{"′"} aka I{PRIME}
339
339
  @var S_SEC: Seconds symbol, default C{"″"} aka I{DOUBLE_PRIME}
340
340
  @var S_RAD: Radians symbol, default C{""} aka L{NN<pygeodesy.NN>}
341
- @var S_DMS: If C{True} include, otherwise cancel all DMS symbols, default C{True}.
341
+ @var S_DMS: If C{True}, include, otherwise cancel all DMS symbols, default C{True}.
342
342
  @var S_SEP: Separator between C{deg°|min′|sec″|suffix}, default C{""} aka L{NN<pygeodesy.NN>}
343
343
 
344
344
  @var Conics: Registered, predefined conics (C{enum-like}).
@@ -491,10 +491,10 @@ if _init__all__ and not _lazy_import2: # import and set __all__
491
491
  # from pygeodesy.ellipsoidalGeodSolve import * # PYCHOK __(_)__
492
492
  # from pygeodesy.ellipsoidalKarney import * # PYCHOK __(_)__
493
493
  # from pygeodesy.ellipsoidalNvector import * # PYCHOK __(_)__
494
- from pygeodesy.ellipsoidalVincenty import VincentyError # PYCHOK lazily
494
+ from pygeodesy.ellipsoidalVincenty import * # PYCHOK __(_)__
495
495
  from pygeodesy.ellipsoids import * # PYCHOK __all__
496
496
  from pygeodesy.elliptic import * # PYCHOK __all__
497
- from pygeodesy.epsg import Epsg, EPSGError # PYCHOK lazily
497
+ from pygeodesy.epsg import * # PYCHOK __all__
498
498
  from pygeodesy.etm import * # PYCHOK __all__
499
499
  from pygeodesy.errors import * # PYCHOK __all__
500
500
  from pygeodesy.fmath import * # PYCHOK __all__
@@ -502,7 +502,7 @@ if _init__all__ and not _lazy_import2: # import and set __all__
502
502
  from pygeodesy.frechet import * # PYCHOK __all__
503
503
  from pygeodesy.fstats import * # PYCHOK __all__
504
504
  from pygeodesy.fsums import * # PYCHOK __all__
505
- from pygeodesy.gars import Garef, GARSError # PYCHOK lazily
505
+ from pygeodesy.gars import * # PYCHOK __all__
506
506
  from pygeodesy.geodesici import * # PYCHOK __all__
507
507
  from pygeodesy.geodesicw import * # PYCHOK __all__
508
508
  from pygeodesy.geodesicx import * # PYCHOK __all__
@@ -549,7 +549,7 @@ if _init__all__ and not _lazy_import2: # import and set __all__
549
549
  from pygeodesy.vector3d import * # PYCHOK __all__
550
550
  from pygeodesy.vector3dBase import * # PYCHOK __(_)__ INTERNAL
551
551
  from pygeodesy.webmercator import * # PYCHOK __all__
552
- from pygeodesy.wgrs import Georef, WGRSError # PYCHOK lazily
552
+ from pygeodesy.wgrs import * # PYCHOK __all__
553
553
 
554
554
  def _all(globalocals):
555
555
  from pygeodesy.internals import _headof, _DOT_ # PYCHOK expected
@@ -595,7 +595,7 @@ else:
595
595
 
596
596
  from pygeodesy.internals import _version2, _DOT_ # PYCHOK import
597
597
  # from pygeodesy.interns import _DOT_ # from .internals
598
- __version__ = '24.08.04'
598
+ __version__ = '24.09.09'
599
599
  # see setup.py for similar logic
600
600
  version = _DOT_(*_version2(__version__, n=3))
601
601
 
pygeodesy/__main__.py CHANGED
@@ -5,7 +5,7 @@ u'''Print L{pygeodesy} version, etc. using C{python -m pygeodesy}.
5
5
  '''
6
6
 
7
7
  __all__ = ()
8
- __version__ = '24.07.07'
8
+ __version__ = '24.09.05'
9
9
 
10
10
  from os.path import basename, dirname
11
11
 
@@ -13,46 +13,39 @@ from os.path import basename, dirname
13
13
  def _main(): # PYCHOK no cover
14
14
 
15
15
  try:
16
- from pygeodesy import _isfrozen, printf, pygeodesy_abspath, version
17
- from pygeodesy.basics import _xgeographiclib, _xnumpy, _xscipy
18
- from pygeodesy.constants import _floats
19
- from pygeodesy.internals import _name_version, _Pythonarchine, _usage
20
- from pygeodesy.interns import _COMMASPACE_, _DEPRECATED_, _pygeodesy_abspath_, \
21
- _version_
16
+ from pygeodesy import constants, _isfrozen, pygeodesy_abspath, version
17
+ from pygeodesy.basics import _xcoverage,_xgeographiclib, _xnumpy, _xscipy
18
+ from pygeodesy.internals import _name_version, printf, _usage, _versions
19
+ from pygeodesy.interns import NN, _COMMASPACE_, _DEPRECATED_, _DOT_, _EQUAL_, \
20
+ _pygeodesy_abspath_, _version_
22
21
  from pygeodesy.lazily import isLazy, _dunder_all_, _all_deprecates, _all_imports
23
- from pygeodesy.streprs import Fmt
24
22
 
25
23
  def _p(name_value):
26
- return Fmt.DOT(Fmt.EQUAL(*name_value))
24
+ return _DOT_(NN, _EQUAL_(*name_value))
27
25
 
28
- p = [_p(t) for t in ((_version_, version),
29
- (_pygeodesy_abspath_, pygeodesy_abspath),
30
- ('isLazy', isLazy),
31
- ('_isfrozen', _isfrozen),
32
- ('_floats', len(_floats)),
33
- (_dunder_all_, len(_all_imports())),
34
- (_DEPRECATED_, len(_all_deprecates())))]
26
+ p = list(_p(t) for t in ((_version_, version),
27
+ (_pygeodesy_abspath_, pygeodesy_abspath),
28
+ ('isLazy', isLazy),
29
+ ('_isfrozen', _isfrozen),
30
+ ('_floats', len(constants._floats)),
31
+ (_dunder_all_, len(_all_imports())),
32
+ (_DEPRECATED_, len(_all_deprecates()))))
35
33
 
36
- def _nv(_xpkg, v):
34
+ def _nv(_xpkg, p):
37
35
  try:
38
36
  pkg = _xpkg(_main)
39
37
  except ImportError:
40
38
  pkg = None
41
39
  if pkg is not None:
42
- v.append(_name_version(pkg))
43
-
44
- v = _Pythonarchine()
45
- try:
46
- import coverage as pkg
47
- v.append(_name_version(pkg))
48
- except ImportError:
49
- pass
50
- _nv(_xgeographiclib, v)
51
- _nv(_xnumpy, v)
52
- _nv(_xscipy, v)
40
+ p.append(_name_version(pkg))
41
+
42
+ _nv(_xcoverage, p)
43
+ _nv(_xgeographiclib, p)
44
+ _nv(_xnumpy, p)
45
+ _nv(_xscipy, p)
53
46
 
54
47
  x = basename(pygeodesy_abspath)
55
- printf('%s%s (%s)', x, _COMMASPACE_.join(p), _COMMASPACE_.join(v))
48
+ printf('%s%s (%s)', x, _COMMASPACE_.join(p), _versions())
56
49
 
57
50
  except ImportError:
58
51
  from pygeodesy.internals import printf, _usage
@@ -66,6 +59,30 @@ except ImportError:
66
59
  t = 'usage:', basename(x), '-m', basename(dirname(__file__))
67
60
  print(' '.join(t))
68
61
 
62
+ # % python3.13 -m pygeodesy
63
+ # pygeodesy.version=24.9.6, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=1, ._isfrozen=False, ._floats=81, .__all__=936, .DEPRECATED=100, coverage 7.6.0 (pygeodesy 24.9.6 Python 3.13.0rc1 64bit arm64 macOS 14.6.1)
64
+
65
+ # % python3.12 -m pygeodesy
66
+ # pygeodesy.version=24.9.6, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=1, ._isfrozen=False, ._floats=81, .__all__=936, .DEPRECATED=100, coverage 7.6.0, geographiclib 2.0, numpy 2.1.0, scipy 1.14.1 (pygeodesy 24.9.6 Python 3.12.5 64bit arm64 macOS 14.6.1)
67
+
68
+ # % python3.11 -m pygeodesy
69
+ # pygeodesy.version=24.9.6, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=1, ._isfrozen=False, ._floats=81, .__all__=936, .DEPRECATED=100, coverage 7.6.0, geographiclib 2.0, numpy 1.24.2, scipy 1.10.1 (pygeodesy 24.9.6 Python 3.11.5 64bit arm64 macOS 14.6.1)
70
+
71
+ # % python3.10 -m pygeodesy
72
+ # pygeodesy.version=24.9.6, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=1, ._isfrozen=False, ._floats=81, .__all__=936, .DEPRECATED=100, coverage 7.6.0, geographiclib 2.0, numpy 1.23.3, scipy 1.9.1 (pygeodesy 24.9.6 Python 3.10.8 64bit arm64 macOS 14.6.1)
73
+
74
+ # % python3.9 -m pygeodesy
75
+ # pygeodesy.version=24.9.6, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=1, ._isfrozen=False, ._floats=81, .__all__=936, .DEPRECATED=100, coverage 7.2.2 (pygeodesy 24.9.6 Python 3.9.6 64bit arm64 macOS 14.6.1)
76
+
77
+ # % python3.8 -m pygeodesy
78
+ # pygeodesy.version=24.9.6, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=1, ._isfrozen=False, ._floats=81, .__all__=936, .DEPRECATED=100, coverage 7.2.2, geographiclib 1.52, numpy 1.19.2, scipy 1.5.2 (pygeodesy 24.9.6 Python 3.8.10 64bit arm64_x86_64 macOS 10.16)
79
+
80
+ # % python3.7 -m pygeodesy
81
+ # pygeodesy.version=24.9.6, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=1, ._isfrozen=False, ._floats=81, .__all__=936, .DEPRECATED=100, coverage 4.5.4, geographiclib 1.50, numpy 1.17.2, scipy 1.3.1 (pygeodesy 24.9.6 Python 3.7.6 64bit arm64_x86_64 macOS 10.16)
82
+
83
+ # % python2.7 -m pygeodesy
84
+ # pygeodesy.version=24.9.6, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=None, ._isfrozen=False, ._floats=792, .__all__=936, .DEPRECATED=100, coverage 5.5, geographiclib 1.50, numpy 1.16.6, scipy 1.2.2 (pygeodesy 24.9.6 Python 2.7.18 64bit arm64_x86_64 macOS 10.16)
85
+
69
86
  # **) MIT License
70
87
  #
71
88
  # Copyright (C) 2016-2024 -- mrJean1 at Gmail -- All Rights Reserved.
@@ -87,21 +104,3 @@ except ImportError:
87
104
  # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
88
105
  # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
89
106
  # OTHER DEALINGS IN THE SOFTWARE.
90
-
91
- # % python3.12 -m pygeodesy
92
- # pygeodesy.version=23.12.2, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=1, ._isfrozen=False, ._floats=82, .__all__=909, .DEPRECATED=94 (Python 3.12.0, 64bit, arm64, geographiclib 2.0)
93
-
94
- # % python3.11 -m pygeodesy
95
- # pygeodesy.version=23.12.2, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=1, ._isfrozen=False, ._floats=82, .__all__=909, .DEPRECATED=94 (Python 3.11.5, 64bit, arm64, geographiclib 2.0, numpy 1.24.2, scipy 1.10.1)
96
-
97
- # % python3.10 -m pygeodesy
98
- # pygeodesy.version=23.12.2, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=1, ._isfrozen=False, ._floats=82, .__all__=909, .DEPRECATED=94 (Python 3.10.8, 64bit, arm64, geographiclib 2.0, numpy 1.23.3, scipy 1.9.1)
99
-
100
- # % python3.9 -m pygeodesy
101
- # pygeodesy.version=23.11.11, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=1, ._isfrozen=False, ._floats=82, .__all__=964 (Python 3.9.6, 64bit, arm64)
102
-
103
- # % python3.8 -m pygeodesy
104
- # pygeodesy.version=23.1.6, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=1, ._isfrozen=False, ._floats=81, .__all__=908 (Python 3.8.10, 64bit, arm64_x86_64, geographiclib 1.52, numpy 1.19.2, scipy 1.5.2)
105
-
106
- # % python2 -m pygeodesy
107
- # pygeodesy.version=23.1.6, .pygeodesy_abspath=.../PyGeodesy/pygeodesy, .isLazy=None, ._isfrozen=False, ._floats=560, .__all__=908 (Python 2.7.18, 64bit, arm64_x86_64, geographiclib 1.50, numpy 1.16.6, scipy 1.2.2)