@@ -8,7 +8,7 @@ earth models using precision trigonometric, vector-based, exact, elliptic, itera
8
8
approximate methods for geodetic (lat-/longitude), geocentric (ECEF _ cartesian) and certain
9
9
`triaxial ellipsoidal `_ coordinates.
10
10
11
- Transcoded partially from `JavaScript originals `_ by *Chris Veness (C) 2005-2024 * and from several
11
+ Transcoded in part from `JavaScript originals `_ by *Chris Veness (C) 2005-2024 * and from several
12
12
`C++ classes `_ by *Charles F.F. Karney (C) 2008-2024 * and published under the same `MIT License `_.
13
13
14
14
There are four modules for ellipsoidal earth models, *ellipsoidalExact *, *-Karney *, *-Vincenty *
@@ -41,17 +41,17 @@ or Hausdorff_ distances.
41
41
Installation
42
42
============
43
43
44
- To install PyGeodesy , type ``python[3] -m pip install PyGeodesy `` or ``python[3] -m easy_install PyGeodesy ``
44
+ To install `` pygeodesy `` , type ``python[3] -m pip install pygeodesy `` or ``python[3] -m easy_install pygeodesy ``
45
45
in a terminal or command window.
46
46
47
- If the wheel ``PyGeodesy -yy.m.d-py2.py3-none-any.whl `` is missing in `PyPI Download files `_, download
47
+ If the wheel ``pygeodesy -yy.m.d-py2.py3-none-any.whl `` is missing in `PyPI Download files `_, download
48
48
the file from `GitHub/dist `_. Install that with ``python[3] -m pip install <path-to-downloaded-wheel> ``
49
49
and verify with ``python[3] -m pygeodesy ``.
50
50
51
- Alternatively, download ``PyGeodesy -yy.m.d.tar.gz `` from PyPI _ or GitHub _, ``unzip `` the downloaded file,
52
- ``cd `` to directory ``PyGeodesy -yy.m.d `` and type ``python[3] setup.py install ``.
51
+ Alternatively, download ``pygeodesy -yy.m.d.tar.gz `` from PyPI _ or GitHub _, ``unzip `` the downloaded file,
52
+ ``cd `` to directory ``pygeodesy -yy.m.d `` and type ``python[3] setup.py install ``.
53
53
54
- To run all PyGeodesy tests, type ``python[3] test/run.py `` or type ``python[3] test/unitTestSuite.py ``
54
+ To run all `` pygeodesy `` tests, type ``python[3] test/run.py `` or type ``python[3] test/unitTestSuite.py ``
55
55
before or after installation.
56
56
57
57
Dependencies
@@ -83,44 +83,44 @@ variable ``PYGEODESY_RHUMBSOLVE`` or with property ``Ellipsoid.rhumbsolve``.
83
83
Documentation
84
84
=============
85
85
86
- In addition to the ``pygeodesy `` package, the PyGeodesy _ `distribution files `_ contain the tests, the
86
+ In addition to the ``pygeodesy `` package, the pygeodesy _ `distribution files `_ contain the tests, the
87
87
test results (on macOS only) and the complete documentation _ generated by Epydoc _ using command line:
88
- `epydoc --html --no-private --no-source --name=PyGeodesy --url=... -v pygeodesy``.
88
+ `epydoc --html --no-private --no-source --name=pygeodesy --url=... -v pygeodesy``.
89
89
90
90
Tests
91
91
=====
92
92
93
- The tests ran with Python 3.13.1 (with geographiclib _ 2.0), 3.12.7 (with geographiclib _ 2.0, numpy _ 2.1.0,
93
+ The tests ran with Python 3.13.2 (with geographiclib _ 2.0), 3.12.7 (with geographiclib _ 2.0, numpy _ 2.1.0,
94
94
scipy _ 1.14.1, GeodSolve _ 2.3, IntersectTool _ 2.3 and RhumbSolve _ 2.3), 3.11.5 (with geographiclib _ 2.0,
95
95
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,
96
96
GeoConvert _ 2.3, GeodSolve _ 2.3), Python 3.9.6 and Python 2.7.18 (with geographiclib _ 1.50, numpy _ 1.16.6,
97
- scipy _ 1.2.2, GeoConvert _ 2.3, GeodSolve _ 2.3, IntersectTool _ 2.3 and RhumbSolve _ 2.3), all on macOS 14.6.1
98
- Sonoma in 64-bit.
97
+ scipy _ 1.2.2, GeoConvert _ 2.3, GeodSolve _ 2.3, IntersectTool _ 2.3 and RhumbSolve _ 2.3), all on macOS 15.4
98
+ Sequoia in 64-bit.
99
99
100
100
All tests ran with and without ``lazy import `` for Python 3 and with command line option ``-W default ``
101
101
and env variable ``PYGEODESY_WARNINGS=on `` for all Python versions. The results of those tests are
102
102
included in the distribution files.
103
103
104
- Python 3.13.1 , 3.12.7, 3.11.5 and 3.10.8 run on Apple M1 Silicon (``arm64 ``), *natively *. Python 2.7.18
104
+ Python 3.13.2 , 3.12.7, 3.11.5 and 3.10.8 run on Apple M1 Silicon (``arm64 ``), *natively *. Python 2.7.18
105
105
runs on Intel (``x86_64 ``) or Intel *emulation * (\" ``arm64_x86_64 ``\" , see function `pygeodesy.machine `_).
106
106
107
107
Test coverage has been measured with coverage _ 7.6.1 using Python 3.13.1, 3.12.7, 3.11.5 and 3.10.8. The
108
108
complete coverage report in HTML and a PDF summary are included in the distribution files.
109
109
110
- The tests also ran with Python 3.13.1 (and geographiclib _ 2.0) on `Debian 12 `_ in 64-bit only and with
110
+ The tests also ran with Python 3.13.2 (and geographiclib _ 2.0) on `Debian 12 `_ in 64-bit only and with
111
111
Python 3.12.5 (and geographiclib _ 2.0) on `Windows 2019Server `_ in 64-bit only and with Python 2.7.18
112
112
(and with geographiclib _ 1.52) on `Windows 10 `_ in 64- and 32-bit.
113
113
114
114
A single-File and single-Directory application with ``pygeodesy `` has been bundled using PyInstaller _ 3.4
115
115
and 64-bit Python 3.7.4 and 3.7.3 on macOS 10.13.6 High Sierra.
116
116
117
- Previously, the tests were run with Python 3.13.0, 3.12.0-6, 3.11.2-4, 3.10.1-7, 3.9.1, 3.8.7, 3.7.1, 2.7.15,
117
+ Previously, the tests were run with Python 3.13.0-1 , 3.12.0-6, 3.11.2-4, 3.10.1-7, 3.9.1, 3.8.7, 3.7.1, 2.7.15,
118
118
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,
119
119
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
120
120
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
121
121
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 _ 1.5.0),
122
122
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 `_ 3.5.3 (and
123
- 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 Sur (aka 10.16),
123
+ numpy _ 1.11.3) on macOS 14.0-6.1 Sonoma, 13.0-5.2 Ventura, 12.1-6 Monterey, 11.0-5.2-6.1 Big Sur (aka 10.16),
124
124
10.15.3, 10.15.5-7 Catalina, 10.14 Mojave, 10.13.6 High Sierra and 10.12 Sierra, MacOS X 10.11 El Capitan
125
125
and/or MacOS X 10.10 Yosemite, with Pythonista _ 3.2 (with geographiclib 1.50 or 1.49 and numpy 1.8.0) on
126
126
iOS 14.4.2, 11.4.1, 12.0-3 on iPad4, iPhone6, iPhone10 and/or iPhone12, with Pythonista _ 3.1 on iOS 10.3.3,
@@ -131,16 +131,16 @@ Notes
131
131
=====
132
132
133
133
All Python source code has been statically checked _ with PyChecker _, PyFlakes _, PyCodeStyle _ (formerly Pep8)
134
- 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 .
134
+ and McCabe _ using Python 2.7.18 and with Flake8 _ using Python 3.11.5, both in 64-bit on macOS 15.4 Sequoia .
135
135
136
136
For a summary of all *Karney *-based functionality in ``pygeodesy ``, see module karney _.
137
137
138
- *Last updated: Jan 05 , 2025. *
138
+ *Last updated: Apr 08 , 2025. *
139
139
140
140
License
141
141
=======
142
142
143
- Copyright (C) 2016-2025 -- mrJean1 at Gmail -- All Rights Reserved.
143
+ ** Copyright (C) 2016-2025 -\ - mrJean1 at Gmail -\ - All Rights Reserved. **
144
144
145
145
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
146
146
documentation files (the "Software"), to deal in the Software without restriction, including without limitation
@@ -150,28 +150,28 @@ to permit persons to whom the Software is furnished to do so, subject to the fol
150
150
The above copyright notice and this permission notice shall be included in all copies or substantial portions
151
151
of the Software.
152
152
153
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
153
+ THE SOFTWARE IS PROVIDED \ " AS IS\ " , WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
154
154
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
155
155
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
156
156
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
157
157
DEALINGS IN THE SOFTWARE.
158
158
159
- .. image :: https://Img.Shields.io/pypi/pyversions/PyGeodesy .svg?label=Python
160
- :target: https://PyPI.org/project/PyGeodesy
161
- .. image :: https://Img.Shields.io/pypi/v/PyGeodesy .svg?label=PyPI
162
- :target: https://PyPI.org/project/PyGeodesy
159
+ .. image :: https://Img.Shields.io/pypi/pyversions/pygeodesy .svg?label=Python
160
+ :target: https://PyPI.org/project/pygeodesy
161
+ .. image :: https://Img.Shields.io/pypi/v/pygeodesy .svg?label=PyPI
162
+ :target: https://PyPI.org/project/pygeodesy
163
163
.. image :: https://Img.Shields.io/appveyor/ci/mrJean1/PyGeodesy.svg?branch=master&label=AppVeyor
164
164
:target: https://CI.AppVeyor.com/project/mrJean1/PyGeodesy/branch/master
165
165
.. image :: https://Img.Shields.io/cirrus/github/mrJean1/PyGeodesy?branch=master&label=Cirrus
166
- :target: https://Cirrus-CI.com/github/mrJean1/PyGeodesy
166
+ :target: https://Cirrus-CI.com/github/mrJean1/pygeodesy
167
167
.. image :: https://Img.Shields.io/badge/coverage-95%25-brightgreen
168
168
:target: https://GitHub.com/mrJean1/PyGeodesy/blob/master/testcoverage.pdf
169
- .. image :: https://Img.Shields.io/pypi/wheel/PyGeodesy .svg
170
- :target: https://PyPI.org/project/PyGeodesy /#files
171
- .. image :: https://Img.Shields.io/pypi/l/PyGeodesy .svg
172
- :target: https://PyPI.org/project/PyGeodesy
173
- .. image :: https://img.shields.io/pypi/dm/PyGeodesy
174
- :target: https://PyPI.org/project/PyGeodesy
169
+ .. image :: https://Img.Shields.io/pypi/wheel/pygeodesy .svg
170
+ :target: https://PyPI.org/project/pygeodesy /#files
171
+ .. image :: https://Img.Shields.io/pypi/l/pygeodesy .svg
172
+ :target: https://PyPI.org/project/pygeodesy
173
+ .. image :: https://img.shields.io/pypi/dm/pygeodesy
174
+ :target: https://PyPI.org/project/pygeodesy
175
175
176
176
.. _Albers equal-area : https://GeographicLib.SourceForge.io/C++/doc/classGeographicLib_1_1AlbersEqualArea.html
177
177
.. _C++ classes : https://GeographicLib.SourceForge.io/C++/doc/annotated.html
@@ -180,7 +180,7 @@ DEALINGS IN THE SOFTWARE.
180
180
.. _checked : https://GitHub.com/ActiveState/code/tree/master/recipes/Python/546532_PyChecker_postprocessor
181
181
.. _Cohen-Sutherland : https://WikiPedia.org/wiki/Cohen-Sutherland_algorithm
182
182
.. _coverage : https://PyPI.org/project/coverage
183
- .. _Debian 12 : https://Cirrus-CI.com/github/mrJean1/PyGeodesy /master
183
+ .. _Debian 12 : https://Cirrus-CI.com/github/mrJean1/pygeodesy /master
184
184
.. _distribution files : https://GitHub.com/mrJean1/PyGeodesy/tree/master/dist
185
185
.. _docs : https://www.Movable-Type.co.UK/scripts/geodesy/docs
186
186
.. _documentation : https://mrJean1.GitHub.io/PyGeodesy
@@ -225,11 +225,11 @@ DEALINGS IN THE SOFTWARE.
225
225
.. _PyChecker : https://PyPI.org/project/pychecker
226
226
.. _PyCodeStyle : https://PyPI.org/project/pycodestyle
227
227
.. _PyFlakes : https://PyPI.org/project/pyflakes
228
- .. _ PyGeodesy : https://PyPI.org/project/PyGeodesy
228
+ .. _ pygeodesy : https://PyPI.org/project/pygeodesy
229
229
.. _pygeodesy.machine : https://mrJean1.GitHub.io/PyGeodesy/docs/pygeodesy.internals-module.html#machine
230
230
.. _PyInstaller : https://PyPI.org/project/pyinstaller
231
- .. _PyPI : https://PyPI.org/project/PyGeodesy
232
- .. _PyPI Download files : https://PyPI.org/project/PyGeodesy /#files
231
+ .. _PyPI : https://PyPI.org/project/pygeodesy
232
+ .. _PyPI Download files : https://PyPI.org/project/pygeodesy /#files
233
233
.. _PyPy : https://formulae.brew.sh/formula/pypy3.10
234
234
.. _Pythonista : https://OMZ-Software.com/pythonista
235
235
.. _Ramer-Douglas-Peucker : https://WikiPedia.org/wiki/Ramer-Douglas-Peucker_algorithm
0 commit comments