Back to Utility Programs. Up to Contents. List of versions in reverse chronological order together with a brief list of changes. (Note: Old versions of the library use a year-month style of numbering. Now, the library uses a major and minor version number.)
- 1.4 (released 2010-09-12)
- Changes to GeographicLib::Geodesic and GeographicLib::GeodesicLine:
- FIX BUG in Geodesic::Inverse with prolate ellipsoids;
- add area computations to Geodesic::Direct and Geodesic::Inverse;
- add geodesic areas to geodesic test set;
- make GeodesicLine constructor public;
- change longitude series in Geodesic into Helmert-like form;
- ensure that equatorial geodesics have cos(alpha0) = 0 identically;
- generalize interface for Geodesic and GeodesicLine;
- split GeodesicLine and Geodesic into different files;
- signal convergence failure in Geodesic::Inverse with NaNs;
- deprecate one function in Geodesic and two functions in GeodesicLine;
- deprecate -n option for Geod.
WARNING: These changes may break binary compatibility with previous versions of GeographicLib. However, the library is source compatible (with the proviso that GeographicLib/GeodesicLine.hpp may now need to be included).
- Add the Planimeter utility for computing the areas of geodesic polygons.
- Improve iterative solution of GeographicLib::Gnomonic::Reverse.
- Add GeographicLib::Geoid::ConvertHeight.
- Add -msltohae, -haetomsl, and -z options to GeoidEval.
- Constructors check that minor radius is positive.
- Add overloaded Forward and Reverse functions to the projection classes which don't return the convergence (or azimuth) and scale.
- Document function parameters and return values consistently.
- 1.1 (released 2010-02-09)
- FIX BUG (introduced in 2009-03) in EllipticFunction::E(sn,cn,dn).
- Increase accuracy of scale calculation in TransverseMercator and TransverseMercatorExact.
- Code and documentation changes for consistency with arXiv:1002.1417
- 1.0 (released 2010-01-07)
- Add autoconf configuration files.
- BUG FIX: Improve initial guess for Newton's method in PolarStereographic::Reverse. (Previously this failed to converge when the co-latitude exceeded about 130 deg.)
- Constructors for TransverseMercator, TransverseMercatorExact, PolarStereographic, Geocentric, and Geodesic now check for obvious problems with their arguments and throw an exception if necessary.
- Most classes now include inspector functions such as MajorRadius() so that you can determine how instances were constructed.
- Add GeographicLib::LambertConformalConic class.
- Add GeographicLib::PolarStereographic::SetScale to allow the latitude of true scale to be specified.
- Add solution and project files for Visual Studio 2008.
- Add GeographicLib::GeographicErr for exceptions.
- GeographicLib::Geoid changes:
- BUG FIX: fix typo in GeographicLib::Geoid::Cache which could cause a segmentation fault in some cases when the cached area spanned the prime meridian.
- Include sufficient edge data to allow heights to be returned for cached area without disk reads;
- Add inspector functions to query the extent of the cache.
- 2009-10
- Change web site to http://geographiclib.sourceforge.net
- Several house-cleaning changes:
- Change from the a flat directory structure to a more easily maintained one.
- Introduce Math class for common mathematical functions (in Constants.hpp).
- Use Math::real as the type for all real quantities. By default this is typedefed to double; and the library should be installed this way.
- Eliminate const reference members of AzimuthalEquidistant, CassiniSoldner and LocalCartesian so that they may be copied.
- Make several constructors explicit. Disallow some constructors. Disallow copy constructor/assignment for Geoid.
- Document least squares formulas in Geoid.cpp.
- Use unsigned long long for files positions of geoid files in Geoid.
- Introduce optional mgrslimits argument in UTMUPS::Forward and UTMUPS::Reverse to enforce stricter MGRS limits on eastings and northings.
- Add 64-bit targets in Visual Studio project files.
- 2009-04
- Use compile-time constants to select the order of series in GeographicLib::TransverseMercator.
- 2x unroll of Clenshaw summation to avoid data shuffling.
- Simplification of GeographicLib::EllipticFunction::E.
- Use STATIC_ASSERT for compile-time checking of constants.
- Improvements to GeographicLib::Geodesic:
- compile-time option to change order of series used,
- post Maxima code for generating the series,
- tune the order of series for double,
- improvements in the selection of starting points for Newton's method,
- accept and return spherical arc lengths,
- works with both oblate and prolate ellipsoids,
- add -a, -e, -b options to the Geod utility.
- 2009-02
- Fix documentation of constructors (flattening -> inverse flattening).
- Use std versions of math functions.
- Add GeographicLib::ECEF and GeographicLib::LocalCartesian classes and the ECEFConvert utility.
- Gather the documentation on the utility programs onto one page.
- 2009-01
- First proper release of library.
- More robust GeographicLib::TransverseMercatorExact:
- Introduce extendp version of constructor,
- Test against extended test data,
- Optimize starting positions for Newton's method,
- Fix behavior near all singularities,
- Fix order dependence in C++ start-up code,
- Improved method of computing scale and convergence.
- Documentation on transverse Mercator projection.
- Add GeographicLib::MGRS, GeographicLib::UTMUPS, etc.
- 2008-09
- Ad hoc posting of information on the transverse Mercator projection.
Back to Utility Programs. Up to Contents.