Back to Geocentric coordinates. 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.) Recent versions of GeographicLib are available at http://sourceforge.net/projects/geographiclib/files/distrib/. Older versions are in http://sourceforge.net/projects/geographiclib/files/distrib/archive/.
- Version 1.21 (released 2012-04-25)
- Support colon-separated DMS output:
- GeoidEval does not print the gradient of the geoid height by default (because it's subject to large errors); give the -g option to get the gradient printed.
- Work around optimization BUG in GeographicLib::Geodesic::Inverse with tdm mingw g++ version 4.6.1.
- autoconf fixed to ensure that that out-of-sources builds work; document this as the preferred method of using autoconf.
- cmake tweaks:
- simplify the configuration of doxygen;
- allow the Matlab compiler to be specified with the MATLAB_COMPILER option.
- Version 1.20 (released 2012-03-23)
- cmake tweaks:
- improve find_package's matching of compiler versions;
- CMAKE_INSTALL_PREFIX set from CMAKE_PREFIX_PATH if available;
- add "x64" to the package name for the 64-bit binary installer;
- fix cmake warning with Visual Studio Express.
- Fix GeographicLib::SphericalEngine to deal with aggessive iterator checking by Visual Studio.
- Fix transcription BUG is Geodesic.js.
- Version 1.19 (released 2012-03-13)
- Version 1.18 (released 2012-02-18)
- Improve documentation on configuration with cmake.
- cmake's find_package ensures that the compiler versions match on Windows.
- Improve documentation on compiling Matlab interface.
- Binary installer for Windows installs under C:/pkg-vc10 by default.
- Version 1.17 (released 2012-01-21)
- Version 1.16 (released 2011-12-07)
- Add calculation of the earth's gravitational field:
- Build uses GEOGRAPHICLIB_DATA to specify a common parent directory for geoid, gravity, and magnetic data (instead of GEOGRAPHICLIB_GEOID_PATH, etc.); similarly, GeoidEval, Gravity, and MagneticField, look at the environment variable GEOGRAPHICLIB_DATA to locate the data.
- Spherical harmonic software changes:
- Magnetic software fixes:
- Version 1.15 (released 2011-11-08)
- Add calculation of the earth's magnetic field:
- Add GeographicLib::Utility class to support I/O and date manipulation.
- Cmake configuration includes a _d suffix on the library built in debug mode.
- For the Python package, include manifest and readme files; don't install setup.py for non-Windows systems.
- Include Doxygen tag file in distribution as doc/html/Geographic.tag.
- Version 1.14 (released 2011-09-30)
- Ensure that geographiclib-config.cmake is relocatable.
- Allow more unicode symbols to be used in GeographicLib::DMS::Decode.
- Modify GeoidEval so that it can be used to convert the height datum for LIDAR data.
- Modest speed-up of Geodesic::Inverse.
- Changes in python interface:
- Supply a minimal Qt qmake project file for library src/Geographic.pro.
- Version 1.13 (released 2011-08-13)
- Changes to I/O:
- Slight improvement in starting guess for solution of geographic latitude in terms of conformal latitude in TransverseMercator, TransverseMercatorExact, and LambertConformalConic.
- For most classes, get rid of const member variables so that the default copy assignment works.
- Put GeographicLib::Math and GeographicLib::Accumulator in their own header files.
- Remove unused "fast" GeographicLib::Accumulator method.
- Reorganize the Python interface.
- Withdraw some deprecated routines.
- cmake changes:
- include FindGeographic.cmake in distribution;
- building with cmake creates and installs geographiclib-config.cmake;
- better support for building a shared library under Windows.
- Version 1.12 (released 2011-07-21)
- Change license to MIT/X11.
- Add GeographicLib::PolygonArea class and equivalent Matlab function.
- Provide Javascript and Python implementations of geodesic routines.
- Fix Windows installer to include runtime dlls for Matlab.
- Fix (innocuous) unassigned variable in Geodesic::GenInverse.
- Geodesic routines in Matlab return a12 as first column of aux return value (incompatible change).
- A couple of code changes to enable compilation with Visual Studio 2003.
- Version 1.11 (released 2011-06-27)
- Changes to Planimeter:
- add -l flag to Planimeter for polyline calculations;
- trim precision of area to 3 decimal places;
- FIX BUG with pole crossing edges (due to compiler optimization).
- Geod no longer reports the reduced length by default; however the -f flag still reports this and in addition gives the geodesic scales and the geodesic area.
- FIX BUGS (compiler-specific) in inverse geodesic calculations.
- FIX BUG: accommodate tellg() returning -1 at end of string.
- Change way flattening of the ellipsoid is specified:
- constructors take f argument which is taken to be the flattening if f < 1 and the inverse flattening otherwise (this is a compatible change for spheres and oblate ellipsoids, but it is an INCOMPATIBLE change for prolate ellipsoids);
- the -e arguments to the Utility programs are handled similarly; in addition, simple fractions, e.g., 1/297, can be used for the flattening;
- introduce GeographicLib::Constants::WGS84_f() for the WGS84 flattening (and deprecate Constants::WGS84_r() for the inverse flattening);
- most classes have a Flattening() member function;
- InverseFlattening() has been deprecated (and now returns inf for a sphere, instead of 0).
- Version 1.10 (released 2011-06-11)
- Improvements to Matlab/Octave interface:
- add {geocentric,localcartesian}{forward,reverse};
- make geographiclibinterface more general;
- install the source for the interface;
- cmake compiles the interface if ENABLE_MATLAB=ON;
- include compiled interface with Windows binary installer.
- Fix various configuration issues
- autoconf did not install Config.h;
- cmake installed in man/man1 instead of share/man/man1;
- cmake did not set the rpath on the tools.
- Version 1.9 (released 2011-05-28)
- Version 1.8 (released 2011-02-22)
- Version 1.7 (released 2010-12-21)
- FIX BUG in scale returned by GeographicLib::LambertConformalConic::Reverse.
- Add GeographicLib::AlbersEqualArea projection.
- Library created by Visual Studio is Geographic.lib instead of GeographicLib.lib (compatible with makefiles).
- Make classes NaN aware.
- Use cell arrays for MGRS strings in Matlab.
- Add solution/project files for Visual Studio 2010 (32-bit only).
- Use C++11 static_assert and math functions, if available.
- Version 1.6 (released 2010-11-23)
- Version 1.5 (released 2010-11-19)
- Version 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.
- Version 1.3 (released 2010-07-21)
- Version 1.2 (released 2010-05-21)
- Version 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
- Version 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.
- Version 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 typedef'ed 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.
- Version 2009-07
- Speed up the series inversion code in tmseries.mac and geod.mac.
- Reference Borkowski in section on Geocentric coordinates.
- Version 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.
- Version 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.
- Version 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.
- Version 2008-09
- Ad hoc posting of information on the transverse Mercator projection.
Back to Geocentric coordinates. Up to Contents.