pygeodesy 24.8.4__py2.py3-none-any.whl → 24.8.24__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {PyGeodesy-24.8.4.dist-info → PyGeodesy-24.8.24.dist-info}/METADATA +16 -15
- {PyGeodesy-24.8.4.dist-info → PyGeodesy-24.8.24.dist-info}/RECORD +50 -50
- {PyGeodesy-24.8.4.dist-info → PyGeodesy-24.8.24.dist-info}/WHEEL +1 -1
- pygeodesy/__init__.py +23 -23
- pygeodesy/auxilats/auxDST.py +2 -2
- pygeodesy/basics.py +3 -3
- pygeodesy/cartesianBase.py +5 -5
- pygeodesy/constants.py +11 -11
- pygeodesy/ellipsoidalBase.py +18 -15
- pygeodesy/ellipsoidalExact.py +2 -2
- pygeodesy/ellipsoidalGeodSolve.py +2 -2
- pygeodesy/ellipsoidalKarney.py +2 -2
- pygeodesy/ellipsoidalNvector.py +2 -2
- pygeodesy/ellipsoidalVincenty.py +7 -6
- pygeodesy/epsg.py +3 -3
- pygeodesy/fmath.py +2 -1
- pygeodesy/fsums.py +4 -4
- pygeodesy/gars.py +9 -8
- pygeodesy/geodesicx/gx.py +3 -3
- pygeodesy/geodesicx/gxarea.py +3 -3
- pygeodesy/geodsolve.py +3 -3
- pygeodesy/geohash.py +18 -11
- pygeodesy/geoids.py +293 -315
- pygeodesy/heights.py +150 -158
- pygeodesy/internals.py +21 -1
- pygeodesy/interns.py +2 -3
- pygeodesy/latlonBase.py +13 -7
- pygeodesy/lazily.py +6 -6
- pygeodesy/ltp.py +5 -6
- pygeodesy/ltpTuples.py +7 -1
- pygeodesy/named.py +5 -4
- pygeodesy/namedTuples.py +14 -1
- pygeodesy/osgr.py +7 -7
- pygeodesy/points.py +2 -2
- pygeodesy/resections.py +7 -7
- pygeodesy/rhumb/solve.py +3 -3
- pygeodesy/simplify.py +10 -10
- pygeodesy/sphericalBase.py +3 -3
- pygeodesy/sphericalTrigonometry.py +2 -2
- pygeodesy/streprs.py +3 -3
- pygeodesy/triaxials.py +207 -201
- pygeodesy/units.py +3 -3
- pygeodesy/unitsBase.py +4 -4
- pygeodesy/utmupsBase.py +3 -3
- pygeodesy/vector2d.py +158 -51
- pygeodesy/vector3d.py +13 -52
- pygeodesy/vector3dBase.py +81 -63
- pygeodesy/webmercator.py +3 -3
- pygeodesy/wgrs.py +20 -22
- {PyGeodesy-24.8.4.dist-info → PyGeodesy-24.8.24.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.
|
|
3
|
+
Version: 24.8.24
|
|
4
4
|
Summary: Pure Python geodesy tools
|
|
5
5
|
Home-page: https://GitHub.com/mrJean1/PyGeodesy
|
|
6
6
|
Author: Jean M. Brouwers
|
|
@@ -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-
|
|
37
|
-
classes`_ by *Charles F.F. Karney (C) 2008-
|
|
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.
|
|
119
|
-
and RhumbSolve_ 2.3), 3.11.5 (with geographiclib_ 2.0, numpy_
|
|
120
|
-
(with geographiclib_ 2.0, numpy_ 1.23.3, scipy_ 1.9.1,
|
|
121
|
-
and Python 2.7.18 (with geographiclib_ 1.50, numpy_
|
|
122
|
-
2.
|
|
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.
|
|
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.
|
|
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.
|
|
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-
|
|
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-
|
|
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.
|
|
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
|
|
163
|
+
*Last updated: Aug 24, 2024.*
|
|
163
164
|
|
|
164
165
|
License
|
|
165
166
|
=======
|
|
@@ -1,81 +1,81 @@
|
|
|
1
1
|
pygeodesy/LICENSE,sha256=YfgAiyxOwY6P9Kkb1_5XN81nueTLrpb3Ffkv3EuPgFU,1144
|
|
2
|
-
pygeodesy/__init__.py,sha256=
|
|
2
|
+
pygeodesy/__init__.py,sha256=Qjs1tGLEQgsV6UELl1zfonI_jkCSJztZcVFbS62yboU,42225
|
|
3
3
|
pygeodesy/__main__.py,sha256=VWxepzxGqR5wsHYyIHFSsRMlZ27keX3xyEhBuGDRXxk,4727
|
|
4
4
|
pygeodesy/albers.py,sha256=JXqeWAteV2N601e5R-D7bCsa8qAYv3oWm7M3R4uszXM,31078
|
|
5
5
|
pygeodesy/azimuthal.py,sha256=erI5DTM0-Nr5YC2LnBTVNbUKlrnnXJUwKe0SCQ7-Soc,50223
|
|
6
|
-
pygeodesy/basics.py,sha256=
|
|
6
|
+
pygeodesy/basics.py,sha256=89s7SLLxPFJqTzeHv2C_FwW77pAU4Sa7uHq9d9k9eJA,29797
|
|
7
7
|
pygeodesy/booleans.py,sha256=5IeA6QWihiPWSv2JnCbMT53ey1WYIU7od5VQ1YUFqX8,73529
|
|
8
|
-
pygeodesy/cartesianBase.py,sha256=
|
|
8
|
+
pygeodesy/cartesianBase.py,sha256=jzPJR4_3Yp5jmK7A5inGOXskDebs7YMdjQzINHjzkP8,46935
|
|
9
9
|
pygeodesy/clipy.py,sha256=3ysIEWQ89HjvLnSlZm0nZAt9EN5AQxIs1sLLM8yF9zM,27675
|
|
10
|
-
pygeodesy/constants.py,sha256
|
|
10
|
+
pygeodesy/constants.py,sha256=T9t9hSwJfvPu5zhOPCp5-Z3xLFPo10UBo459TSlO-Xs,19192
|
|
11
11
|
pygeodesy/css.py,sha256=rPr5EcGm_blVt72h-851ytpVxdPhx1MEqqGs3Ppx3eI,25651
|
|
12
12
|
pygeodesy/datums.py,sha256=-m9-cvUVOaJ92eeFgc3O54lel3WqnVYcS7o6WCXkNyw,34043
|
|
13
13
|
pygeodesy/dms.py,sha256=QxiRtyc8QSiW-egm6Mrcrgmi_deWz3YnYwIm82JS4TU,44443
|
|
14
14
|
pygeodesy/ecef.py,sha256=_yy_TIUGsXmEZ7aRcmchbJwTp7x__edx6EPiS3Xznes,59587
|
|
15
15
|
pygeodesy/elevations.py,sha256=4FuVcVNb_D09gmcvUlck344N4f7Jms76SIRrdutvKjk,10801
|
|
16
|
-
pygeodesy/ellipsoidalBase.py,sha256=
|
|
16
|
+
pygeodesy/ellipsoidalBase.py,sha256=IDu0-cKGhkCk3Aj16DJXt2gxjGYsFcjSTrvwG5GbATs,55385
|
|
17
17
|
pygeodesy/ellipsoidalBaseDI.py,sha256=OxbSBntV9xiOgsb-0un0cUYIVoPiIiH-lt3baBkbaS8,38400
|
|
18
|
-
pygeodesy/ellipsoidalExact.py,sha256=
|
|
19
|
-
pygeodesy/ellipsoidalGeodSolve.py,sha256=
|
|
20
|
-
pygeodesy/ellipsoidalKarney.py,sha256=
|
|
21
|
-
pygeodesy/ellipsoidalNvector.py,sha256=
|
|
22
|
-
pygeodesy/ellipsoidalVincenty.py,sha256=
|
|
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
23
|
pygeodesy/ellipsoids.py,sha256=i7piclEb17hYt5wqL7Q0p5qLuRVvz3yonUSUcvmiozc,108005
|
|
24
24
|
pygeodesy/elliptic.py,sha256=-80MbZvRPk-TeA_ggkfXhjuPv07MzsB4HxNF7gbdhB4,42501
|
|
25
|
-
pygeodesy/epsg.py,sha256=
|
|
25
|
+
pygeodesy/epsg.py,sha256=Vq_M1g7Z0x5Noqsmt6OCQkPdYJj4jpWObtixL5pAjDA,8220
|
|
26
26
|
pygeodesy/errors.py,sha256=-UnQ1GhkiTR6uBd0z0vd_pFEmjWXlOESRDwMdxY_JD0,30605
|
|
27
27
|
pygeodesy/etm.py,sha256=y3dAqS-iWnbWzmsu4zB7kryAp_I17XEdzNRRk0klTww,44696
|
|
28
|
-
pygeodesy/fmath.py,sha256=
|
|
28
|
+
pygeodesy/fmath.py,sha256=REWFTf7IxoW3OhVcKg5M0Lpdx7cj3bDkaGDOb9VvNPE,33726
|
|
29
29
|
pygeodesy/formy.py,sha256=PrAlrSASKIXeFvawueyo7kRC-UJJSEQR3APhirHqhtE,75032
|
|
30
30
|
pygeodesy/frechet.py,sha256=F6TYbOEYSOFcll6nvp4GhqafUWXh1umAKb1QaMYQtuM,34372
|
|
31
31
|
pygeodesy/fstats.py,sha256=4eIhzSCMnn-2nVP3Q-5cCWCI-rvH0CE-zkk9hp3Pvn8,28642
|
|
32
|
-
pygeodesy/fsums.py,sha256=
|
|
33
|
-
pygeodesy/gars.py,sha256=
|
|
32
|
+
pygeodesy/fsums.py,sha256=YEPE4vT24Y-6gTuvm2tsFD0W1EtXqTUHn3BtfCm3Mm4,80841
|
|
33
|
+
pygeodesy/gars.py,sha256=KRlyZUv1euEl7ZkDYSZG913GAfFMRG2m2hp37ObYY_Y,11829
|
|
34
34
|
pygeodesy/geodesici.py,sha256=rbHsTKnne7atLGGumPOm7HPogM_ugKnohFmY6uSft6g,74966
|
|
35
35
|
pygeodesy/geodesicw.py,sha256=oEs96Epw839BH3rVpxVdpXuQRBudbOftUsSBUid8fcc,28710
|
|
36
|
-
pygeodesy/geodsolve.py,sha256=
|
|
37
|
-
pygeodesy/geohash.py,sha256=
|
|
38
|
-
pygeodesy/geoids.py,sha256=
|
|
36
|
+
pygeodesy/geodsolve.py,sha256=_Vlb1c3j8n7dW99AinJ2HA_DiV4YnlRjbBY7Ha8AvEk,23553
|
|
37
|
+
pygeodesy/geohash.py,sha256=CHJUhvV26PLpjkaTwF4fS42ZRSSsnpH2zyGvadPxqG4,40201
|
|
38
|
+
pygeodesy/geoids.py,sha256=EWKfkmdl2GSL0eQCr79ndDwSGXYOPChGokxocCy7YuM,82371
|
|
39
39
|
pygeodesy/hausdorff.py,sha256=-aKtRbMefDSoIk4V3wCvNrXPZ7Bqk1P6-XuGuI7o8Zc,34770
|
|
40
|
-
pygeodesy/heights.py,sha256=
|
|
41
|
-
pygeodesy/internals.py,sha256=
|
|
42
|
-
pygeodesy/interns.py,sha256=
|
|
40
|
+
pygeodesy/heights.py,sha256=Gv3b1xC7I0tBvTO-DdmWVW8A3ZV3RKxY3jveUUZso38,42909
|
|
41
|
+
pygeodesy/internals.py,sha256=za7RSqQ9Vbgx-cpjrtVE-GKsZpS8zym-YYomhGk8tSk,21345
|
|
42
|
+
pygeodesy/interns.py,sha256=USTdoOChgxRk9nITMBRMC9pgtrui84aISS3KYwSIYMk,23221
|
|
43
43
|
pygeodesy/iters.py,sha256=xPH0ytomvJeKHu717Fjzi3QbRrEikO6n7vqkY_IDz1k,20311
|
|
44
44
|
pygeodesy/karney.py,sha256=y9xMgJX0W0tLrQQnO6c9-It7QgDSOcd4Irvs2D68vBI,38035
|
|
45
45
|
pygeodesy/ktm.py,sha256=EJ52Llx5DPFNNl2DEH8rL1-k955qOxYZLAg4-UpnlbA,27246
|
|
46
|
-
pygeodesy/latlonBase.py,sha256=
|
|
47
|
-
pygeodesy/lazily.py,sha256=
|
|
46
|
+
pygeodesy/latlonBase.py,sha256=kCK6IcVg4oeGPYkIU0rgKbZLCRo36wC9NtY5OKBlpeQ,79106
|
|
47
|
+
pygeodesy/lazily.py,sha256=LwXhg41ElZ0Qpx7y0nYatcsP_1APTfpsOPaeEnjXjA8,47195
|
|
48
48
|
pygeodesy/lcc.py,sha256=oDooTzFHnqsMtSKmmmfEbypHpdlPltfo7Mt0pAO4-_A,25669
|
|
49
|
-
pygeodesy/ltp.py,sha256=
|
|
50
|
-
pygeodesy/ltpTuples.py,sha256=
|
|
49
|
+
pygeodesy/ltp.py,sha256=ZMdfJHLKeDHSoymmjWfoAZTtrdoADf0O6WccRf53L2w,50745
|
|
50
|
+
pygeodesy/ltpTuples.py,sha256=oNTxtjxmHveMDQvPdQCHl-JzSJJGb1jFRrF8SEG_Ojw,58480
|
|
51
51
|
pygeodesy/mgrs.py,sha256=w50bvM3qDtHDBDBRQ_EgZnPn7vxVXgoFnleeZgefkVk,29679
|
|
52
|
-
pygeodesy/named.py,sha256=
|
|
53
|
-
pygeodesy/namedTuples.py,sha256=
|
|
52
|
+
pygeodesy/named.py,sha256=CLaiCzPKiua3E4xMD8jkZna2pIHWPXUrmRSzFgU1YRo,52303
|
|
53
|
+
pygeodesy/namedTuples.py,sha256=e0rV1Zb2tbx8fztXcSkUFsRTmZtye8B5i_Hi4vBUndU,28758
|
|
54
54
|
pygeodesy/nvectorBase.py,sha256=rClYu26Bof9DsM1F60i0eccktNo8xYA_vkThwoY7N4o,28644
|
|
55
|
-
pygeodesy/osgr.py,sha256=
|
|
56
|
-
pygeodesy/points.py,sha256=
|
|
55
|
+
pygeodesy/osgr.py,sha256=3Qon_oWuVrIb1vYnd3ae3L5MDkjp_tngyVdiYHuL4to,30821
|
|
56
|
+
pygeodesy/points.py,sha256=e8ri5Pu5snpN4P6pPbGxmW_yx4-ApD9mOBuR0REoflA,64409
|
|
57
57
|
pygeodesy/props.py,sha256=2vQD2PoHy1f7osxEf9H0hNvg7gDPd0t8rCy-EuezcI4,23725
|
|
58
|
-
pygeodesy/resections.py,sha256=
|
|
59
|
-
pygeodesy/simplify.py,sha256=
|
|
58
|
+
pygeodesy/resections.py,sha256=fFthuI9EoO4WdY25Y_rCDN56gz2mPFsUypR3oGlh8Ks,43556
|
|
59
|
+
pygeodesy/simplify.py,sha256=vkOtO478sOjZHZBuSFvCaRh72qSDQuzXLQpMK1LKyYI,25232
|
|
60
60
|
pygeodesy/solveBase.py,sha256=oI_-FFjSPI1_yQ598hF6HFKUa4tLsAfbnWtKoQ-TJgE,19206
|
|
61
|
-
pygeodesy/sphericalBase.py,sha256=
|
|
61
|
+
pygeodesy/sphericalBase.py,sha256=bDVuArfePzqcothiTTkyisUGrMDTallXKROjihotcn8,32239
|
|
62
62
|
pygeodesy/sphericalNvector.py,sha256=MiWcCy5CdvXsCa3963GeUMEnSYGhBiXzkoAEX_tGX4Q,56952
|
|
63
|
-
pygeodesy/sphericalTrigonometry.py,sha256=
|
|
64
|
-
pygeodesy/streprs.py,sha256=
|
|
63
|
+
pygeodesy/sphericalTrigonometry.py,sha256=F84lPOSLj4Z2-f8xMjpqvTISuBpsjFwdF8fkuaEi5Hs,64077
|
|
64
|
+
pygeodesy/streprs.py,sha256=1szfCzFlVgsyJ0H_QFGtzyMfOJpyIZNfj34qvWNACM4,23041
|
|
65
65
|
pygeodesy/trf.py,sha256=CRFHmu0lFNtc41fddXavEkHmgnTFWEqR4RTFodcFKsw,119022
|
|
66
|
-
pygeodesy/triaxials.py,sha256=
|
|
67
|
-
pygeodesy/units.py,sha256=
|
|
68
|
-
pygeodesy/unitsBase.py,sha256=
|
|
66
|
+
pygeodesy/triaxials.py,sha256=ZFcGukYKd5z-N18MWVTiu2iuVl3NmYmkzaz63DcOxAQ,62555
|
|
67
|
+
pygeodesy/units.py,sha256=gHN-uzsOwIYjyhtWs0th0VHNY-fOiUiZo9G1cZi0oXg,35272
|
|
68
|
+
pygeodesy/unitsBase.py,sha256=ZZ-VDntCOTjSerQJf9aaLE_J0lozrpmUhynRBaCtg24,14060
|
|
69
69
|
pygeodesy/ups.py,sha256=zapIvzoVuj_FDGC6sr8O8ynPhfqXwUg-EFCVnJdM9Eo,23329
|
|
70
70
|
pygeodesy/utily.py,sha256=Zb6L9unzHHhp67znmQLLdizvyX6p4eczR1PDtcyWH-s,36189
|
|
71
71
|
pygeodesy/utm.py,sha256=lCp7mNEaJNrAYnbdPaNUKkhbsX_GdssTEkp68uYdMLI,31091
|
|
72
72
|
pygeodesy/utmups.py,sha256=g2Z_aEOt6fhV9f4fASlW4_K_O_P4zBsBbWfQV11mIKo,13196
|
|
73
|
-
pygeodesy/utmupsBase.py,sha256=
|
|
74
|
-
pygeodesy/vector2d.py,sha256=
|
|
75
|
-
pygeodesy/vector3d.py,sha256=
|
|
76
|
-
pygeodesy/vector3dBase.py,sha256=
|
|
77
|
-
pygeodesy/webmercator.py,sha256=
|
|
78
|
-
pygeodesy/wgrs.py,sha256=
|
|
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
79
|
pygeodesy/auxilats/_CX_4.py,sha256=U41njj8Pu8cHMGuoUUVA20QIvRJAq-VGCnyoKJl0Ylo,8662
|
|
80
80
|
pygeodesy/auxilats/_CX_6.py,sha256=x4hrHxunjqqkEsZbVW1dyn3R5mR8EWYOuX77RzDEyh4,14856
|
|
81
81
|
pygeodesy/auxilats/_CX_8.py,sha256=t-OO48t4cCOsOgMi1FoyPw2DQqybVZFsgQMqAYP-jKY,25304
|
|
@@ -83,7 +83,7 @@ pygeodesy/auxilats/__init__.py,sha256=YNp41rRC5DmAhBx4RPqoqh4yxD9Vjf9Wk_USwqeZYc
|
|
|
83
83
|
pygeodesy/auxilats/__main__.py,sha256=Vuj1YSp1LV0zejVzi6EYauka1Dv8kwOHI_aeHxQEVYk,2899
|
|
84
84
|
pygeodesy/auxilats/auxAngle.py,sha256=nr-su1loEbv1uVxg7_cEjH0M1DLyodsulPfq4NVT5kY,16745
|
|
85
85
|
pygeodesy/auxilats/auxDLat.py,sha256=3sq7Wc-ykpVbldNh10IZ3tIlJ7DcQFDlmZ4nOhJEgo0,10969
|
|
86
|
-
pygeodesy/auxilats/auxDST.py,sha256=
|
|
86
|
+
pygeodesy/auxilats/auxDST.py,sha256=BSHR0M3hQBR1KjF_BUJHrNzGXr2PblYXUQsMD5L1Kcc,10468
|
|
87
87
|
pygeodesy/auxilats/auxLat.py,sha256=QeTx8dqov1NwNSEam9VC_wq36nRCUpbJpY4hH1NvyNg,32493
|
|
88
88
|
pygeodesy/auxilats/auxily.py,sha256=evkD4NGJPGdy3QtP7zI76IY2uDTGc1YjsVG4-BwzZIg,8235
|
|
89
89
|
pygeodesy/deprecated/__init__.py,sha256=cBYqbh5Njkd5SnaJDaMUP6PL66HfLWii_JoLjnKfnP4,2815
|
|
@@ -102,16 +102,16 @@ pygeodesy/geodesicx/_C4_27.py,sha256=bPbj2Ckrn9WJglm3SNTXyMkULNwANM0tCQ-LKxP1L58
|
|
|
102
102
|
pygeodesy/geodesicx/_C4_30.py,sha256=QZO8p971ztJwDGLOaJYgIhklztz9GlqbtS-xRP_E7o4,201964
|
|
103
103
|
pygeodesy/geodesicx/__init__.py,sha256=4qAIrE-cnOvi1B38iK-52PB2BpB1zxsVYEryHm4QTJk,2478
|
|
104
104
|
pygeodesy/geodesicx/__main__.py,sha256=JnKrYmg1q9J5wRRqUy-dQ9abj2-2jpWtrolMMaFfWiY,3176
|
|
105
|
-
pygeodesy/geodesicx/gx.py,sha256=
|
|
106
|
-
pygeodesy/geodesicx/gxarea.py,sha256
|
|
105
|
+
pygeodesy/geodesicx/gx.py,sha256=yeNpMQbw_uWfs4KOQX8RMAQt6WNsG3zsGgmZRVgbQIk,60612
|
|
106
|
+
pygeodesy/geodesicx/gxarea.py,sha256=Yo2kj6IhrFWHHe3D52_5AASNaGBoujclG8NBBmPGCZA,19422
|
|
107
107
|
pygeodesy/geodesicx/gxbases.py,sha256=Awt9zc1lyPS0vp4df2u4H_rhMeFu1pJaZPhb1iMoc-Q,5693
|
|
108
108
|
pygeodesy/geodesicx/gxline.py,sha256=zNQF8lz9caHZlsUcL8NfjG02KIza39Q6Qd6XizDp_UI,27537
|
|
109
109
|
pygeodesy/rhumb/__init__.py,sha256=kTuNSKiiQyXvQdYc5KUd5admuKJ2QmDCWQwkIobnM-w,2207
|
|
110
110
|
pygeodesy/rhumb/aux_.py,sha256=lOjpEU3Pe2I5DwC933UCf-SW73l5NMuDACeZhbVs3lE,16657
|
|
111
111
|
pygeodesy/rhumb/bases.py,sha256=awpP60K6EOzS753oXM-h9S6paS6FwoCnco8Zt8n81jY,54162
|
|
112
112
|
pygeodesy/rhumb/ekx.py,sha256=JsmdCatWKqsffF8jCh4HDu5IKt_kHq1qUdmP1LMuofY,24044
|
|
113
|
-
pygeodesy/rhumb/solve.py,sha256=
|
|
114
|
-
PyGeodesy-24.8.
|
|
115
|
-
PyGeodesy-24.8.
|
|
116
|
-
PyGeodesy-24.8.
|
|
117
|
-
PyGeodesy-24.8.
|
|
113
|
+
pygeodesy/rhumb/solve.py,sha256=d4RujlW8B7BFAHlrwfj2Bup-uXZZTpgKWgI2JJBqUGc,24059
|
|
114
|
+
PyGeodesy-24.8.24.dist-info/METADATA,sha256=UTCfv5UAppB-IyUdVou09q_x3lSpIdeVE-_djSIMk6I,19773
|
|
115
|
+
PyGeodesy-24.8.24.dist-info/WHEEL,sha256=fS9sRbCBHs7VFcwJLnLXN1MZRR0_TVTxvXKzOnaSFs8,110
|
|
116
|
+
PyGeodesy-24.8.24.dist-info/top_level.txt,sha256=cEQPatCXzKZqrivpULC5V5fuy9_V_bAwaP_gUGid7pQ,10
|
|
117
|
+
PyGeodesy-24.8.24.dist-info/RECORD,,
|
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-
|
|
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-
|
|
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
|
|
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
|
|
45
|
-
C++/doc/classGeographicLib_1_1AlbersEqualArea.html>} projections, U{equidistant
|
|
46
|
-
<https://GeographicLib.SourceForge.io/C++/doc/classGeographicLib_1_1AzimuthalEquidistant.html>}
|
|
47
|
-
|
|
48
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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-
|
|
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-
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
598
|
+
__version__ = '24.08.24'
|
|
599
599
|
# see setup.py for similar logic
|
|
600
600
|
version = _DOT_(*_version2(__version__, n=3))
|
|
601
601
|
|
pygeodesy/auxilats/auxDST.py
CHANGED
|
@@ -24,7 +24,7 @@ from pygeodesy.karney import _2cos2x, _ALL_DOCS
|
|
|
24
24
|
from pygeodesy.props import property_RO, property_ROver
|
|
25
25
|
|
|
26
26
|
__all__ = ()
|
|
27
|
-
__version__ = '24.
|
|
27
|
+
__version__ = '24.08.13'
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
class AuxDST(object):
|
|
@@ -92,7 +92,7 @@ class AuxDST(object):
|
|
|
92
92
|
|
|
93
93
|
@arg data: Elements DST-III[0:N+1] or DST-IV[0:N] (C{float}[])
|
|
94
94
|
with DST_III[0] = 0.
|
|
95
|
-
@arg cIV: If C{True} DST-IV, otherwise DST-III.
|
|
95
|
+
@arg cIV: If C{True}, DST-IV, otherwise DST-III.
|
|
96
96
|
|
|
97
97
|
@return: FFTransforms (C{float}[0:N]).
|
|
98
98
|
'''
|
pygeodesy/basics.py
CHANGED
|
@@ -37,7 +37,7 @@ from math import copysign as _copysign
|
|
|
37
37
|
import inspect as _inspect
|
|
38
38
|
|
|
39
39
|
__all__ = _ALL_LAZY.basics
|
|
40
|
-
__version__ = '24.
|
|
40
|
+
__version__ = '24.08.13'
|
|
41
41
|
|
|
42
42
|
_below_ = 'below'
|
|
43
43
|
_list_tuple_types = (list, tuple)
|
|
@@ -733,7 +733,7 @@ def _xcopy(obj, deep=False):
|
|
|
733
733
|
'''(INTERNAL) Copy an object, shallow or deep.
|
|
734
734
|
|
|
735
735
|
@arg obj: The object to copy (any C{type}).
|
|
736
|
-
@kwarg deep: If C{True} make a deep, otherwise
|
|
736
|
+
@kwarg deep: If C{True}, make a deep, otherwise
|
|
737
737
|
a shallow copy (C{bool}).
|
|
738
738
|
|
|
739
739
|
@return: The copy of B{C{obj}}.
|
|
@@ -745,7 +745,7 @@ def _xdup(obj, deep=False, **items):
|
|
|
745
745
|
'''(INTERNAL) Duplicate an object, replacing some attributes.
|
|
746
746
|
|
|
747
747
|
@arg obj: The object to copy (any C{type}).
|
|
748
|
-
@kwarg deep: If C{True} copy deep, otherwise shallow.
|
|
748
|
+
@kwarg deep: If C{True}, copy deep, otherwise shallow (C{bool}).
|
|
749
749
|
@kwarg items: Attributes to be changed (C{any}).
|
|
750
750
|
|
|
751
751
|
@return: A duplicate of B{C{obj}} with modified
|
pygeodesy/cartesianBase.py
CHANGED
|
@@ -43,7 +43,7 @@ from pygeodesy.vector3d import Vector3d, _xyzhdlln4
|
|
|
43
43
|
# from math import atan2, degrees, fabs, radians, sqrt # from .fmath, .utily
|
|
44
44
|
|
|
45
45
|
__all__ = _ALL_LAZY.cartesianBase
|
|
46
|
-
__version__ = '24.
|
|
46
|
+
__version__ = '24.08.18'
|
|
47
47
|
|
|
48
48
|
_r_ = 'r'
|
|
49
49
|
_theta_ = 'theta'
|
|
@@ -342,9 +342,9 @@ class CartesianBase(Vector3d):
|
|
|
342
342
|
I{overriding} this datum (L{Datum}, L{Ellipsoid},
|
|
343
343
|
L{Ellipsoid2}, L{a_f2Tuple}, L{Triaxial}, L{Triaxial_},
|
|
344
344
|
L{JacobiConformal} or C{meter}, conventionally).
|
|
345
|
-
@kwarg normal: If C{True} the projection is the nearest point on the
|
|
345
|
+
@kwarg normal: If C{True}, the projection is the nearest point on the
|
|
346
346
|
ellipsoid's surface, otherwise the intersection of the
|
|
347
|
-
radial line to the ellipsoid's center and
|
|
347
|
+
radial line to the ellipsoid's center and surface C{bool}).
|
|
348
348
|
@kwarg Cartesian_and_kwds: Optional C{B{Cartesian}=None} class to return
|
|
349
349
|
the I{projection} and additional B{C{Cartesian}} keyword
|
|
350
350
|
arguments.
|
|
@@ -437,7 +437,7 @@ class CartesianBase(Vector3d):
|
|
|
437
437
|
# <https://GitHub.com/pbrod/nvector>/src/nvector/core.py>
|
|
438
438
|
# _equation23 and <https://www.NavLab.net/nvector>
|
|
439
439
|
E = datum.ellipsoid
|
|
440
|
-
x, y, z = self.
|
|
440
|
+
x, y, z = self.xyz3
|
|
441
441
|
|
|
442
442
|
# Kenneth Gade eqn 23
|
|
443
443
|
p = hypot2(x, y) * E.a2_
|
|
@@ -836,7 +836,7 @@ class CartesianBase(Vector3d):
|
|
|
836
836
|
# if inverse and d != _WGS84:
|
|
837
837
|
# raise _ValueError(inverse=inverse, datum=d,
|
|
838
838
|
# txt_not_=_WGS84.name)
|
|
839
|
-
xyz = transform.transform(*self.
|
|
839
|
+
xyz = transform.transform(*self.xyz3, inverse=inverse)
|
|
840
840
|
c = self.dup(xyz=xyz, datum=datum or self.datum)
|
|
841
841
|
return c
|
|
842
842
|
|
pygeodesy/constants.py
CHANGED
|
@@ -17,14 +17,14 @@ from pygeodesy.interns import _INF_, _NAN_, _UNDER_
|
|
|
17
17
|
# from pygeodesy.streprs import Fmt # from .unitsBase
|
|
18
18
|
from pygeodesy.unitsBase import Float, Int, Radius, _ALL_LAZY, Fmt
|
|
19
19
|
|
|
20
|
-
from math import fabs, isinf, isnan, pi as
|
|
20
|
+
from math import fabs, isinf, isnan, pi as _pi, sqrt
|
|
21
21
|
try:
|
|
22
22
|
from math import inf as _inf, nan as _nan # PYCHOK Python 3+
|
|
23
23
|
except ImportError: # Python 2-
|
|
24
24
|
_inf, _nan = float(_INF_), float(_NAN_)
|
|
25
25
|
|
|
26
26
|
__all__ = _ALL_LAZY.constants
|
|
27
|
-
__version__ = '24.
|
|
27
|
+
__version__ = '24.08.18'
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
def _copysign_0_0(y):
|
|
@@ -242,7 +242,7 @@ _EPStol = _Float(_EPStol =_EPSqrt * _0_1) # PYCHOK = 1.49011611938e5-09 == sqr
|
|
|
242
242
|
_89_999_ = _Float(_89_999_= EPS1 * _90_0) # just below 90.0
|
|
243
243
|
# <https://Numbers.Computation.Free.FR/Constants/Miscellaneous/digits.html>
|
|
244
244
|
_1__90 = _Float(_1__90 =_1_0 / _90_0) # PYCHOK = 0.011_111_111_111_111_111_111_111_111_111_111_111_111_111_111_11111
|
|
245
|
-
_2__PI = _Float(_2__PI =_2_0 /
|
|
245
|
+
_2__PI = _Float(_2__PI =_2_0 / _pi) # PYCHOK = 0.636_619_772_367_581_343_075_535_053_490_057_448_137_838_582_96182
|
|
246
246
|
|
|
247
247
|
_1_16th = _Float(_1_16th =_1_0 / _16_0) # PYCHOK in .ellipsoids, .karney
|
|
248
248
|
_1_64th = _Float(_1_64th =_1_0 / 64) # PYCHOK in .elliptic, pow(2.0, -6)
|
|
@@ -261,14 +261,14 @@ NAN = Float(NAN =_nan) # PYCHOK Not-A-Number, see function L{isnan}, NOT _
|
|
|
261
261
|
NEG0 = Float(NEG0=_N_0_0) # PYCHOK NEGative 0.0, see function L{isneg0}, NOT _Float!
|
|
262
262
|
NINF = Float(NINF=-INF) # PYCHOK Negative INFinity, NOT _Float!
|
|
263
263
|
|
|
264
|
-
PI = _Float(PI =
|
|
265
|
-
PI2 = _Float(PI2 =
|
|
266
|
-
PI_2 = _Float(PI_2 =
|
|
267
|
-
PI3 = _Float(PI3 =
|
|
268
|
-
PI3_2 = _Float(PI3_2=
|
|
269
|
-
PI_3 = _Float(PI_3 =
|
|
270
|
-
PI4 = _Float(PI4 =
|
|
271
|
-
PI_4 = _Float(PI_4 =
|
|
264
|
+
PI = _Float(PI =_pi) # 3.1415_9265_3589_7932_3846_2643_3832_795
|
|
265
|
+
PI2 = _Float(PI2 =_pi * _2_0) # PYCHOK Two PI, M{PI * 2} aka I{Tau}
|
|
266
|
+
PI_2 = _Float(PI_2 =_pi / _2_0) # PYCHOK Half PI, M{PI / 2}
|
|
267
|
+
PI3 = _Float(PI3 =_pi * _3_0) # PYCHOK Three PI, M{PI * 3}
|
|
268
|
+
PI3_2 = _Float(PI3_2=_pi * _1_5) # PYCHOK PI and a half, M{PI * 3 / 2}
|
|
269
|
+
PI_3 = _Float(PI_3 =_pi / _3_0) # PYCHOK One third PI, M{PI / 3}
|
|
270
|
+
PI4 = _Float(PI4 =_pi * _4_0) # PYCHOK Four PI, M{PI * 4}
|
|
271
|
+
PI_4 = _Float(PI_4 =_pi / _4_0) # PYCHOK Quarter PI, M{PI / 4}
|
|
272
272
|
|
|
273
273
|
R_MA = _Radius(R_MA=6378137.0) # PYCHOK equatorial earth radius (C{meter}), WGS84, EPSG:3785
|
|
274
274
|
R_MB = _Radius(R_MB=6356752.3) # PYCHOK polar earth radius (C{meter}), WGS84, EPSG:3785
|