Releases: geospace-code/pymap3d
add geod2geoc, geoc2geod
API change: the last releases geodetic2geocentric and geocentric2geodetic have a "alt_m" parameter now. Set it to zero to act like before / Matlab. include the altitude to account for object height above ellipsoid.
Type hinting / quality / refactoring
Added diagnostic plots
Corrected / updated docs and error messages.
add numerous geodetic / spherical transforms from @rpavlick
Thanks to @rpavlick for adding numerous functions in rcurve, rsphere, latitude, lox, utils and more.
These functions each had tests written.
Further, some Numpy functionality that was accidentally removed from v2.0 was restored for v2.1.
The goal of the PyMap3D package remains to support non-Numpy users, while also fully supporting those who have Numpy. The non-Numpy users are typically robots or platforms that stream positions in realtime, and don't need arrays, and want the faster performance of Python's built-in math
module.
unify ellipsoid spec, add geocentric <=> geodetic latitude conversion
also breaking out tests to make easier to read and more comprehensive (checking for singularities, numpy vs scalar, etc.)
Drop Python 2.x, improve numerical stability, improve non-Numpy use, move to GitHub Actions CI
- Drop Python 2.x as code duplication and maintenance burden is too high.
- improve numerical stability, thanks @bcminch #27
- make non-Numpy use a first-class use case, with all but ECI working without Numpy (let us know if non-Numpy ECI is desirable). Of course Numpy, Pandas and Xarray are still handled first-class as well.
- move CI to GitHub Actions.
enhance CI integration, modularize
Put ellipsoid in own file
put examples in own dir
test python setup.py install as well as python setup.py develop
Enable fallback to Python 2.6, 2.7 and 3.4
Full functionality of PyMap3D (as with Python in general in 2019) requires Python ≥ 3.5, but a useful subset is made available to Python 2.6, 2.7 and 3.4. This is relevant to MicroPython and ROS users and other special use cases where currently supported Python versions may not yet be readily available.
Put Ellipsoid() in its own file for clarity and flexibility with other packages.
ECI functions previously had an API unlike other PyMap3D functions, they are now the same as the rest of PyMap3D (scalar or N-D array for each variable).
more input types
added several tests so that Pandas and Xarray are functioning.
Also handles ecef2geodetic scalar input.
BUGFIX: aer2geogetic ellipsoid specifier
AER2GEODETIC was always going to the default WGS84 ellipsoid since the ell=
argument was not present. We have fixed this error.
Also did a complete rewrite of documentation to numpydoc
standards (mostly) and regenerated with pdoc3.
BUGFIX: ecef2geodetic negative altitude
Corrected algorithmic error for ecef2geodetic
where negative altitude wrapped to positive altitude
parameterized tests to provide better coverage of singularities / edge cases
pdoc docs, negative altitude OK
use pdoc instead of sphinx for autogen docs
Don't limit altitude to be positive in geodetic2ecef
, useful for near-earth WGS84 not exactly matching Earth's complicated surface.