[Geographiclib-announce] GeographicLib 1.46 (released 2016-02-15)
Geographic library
Brought to you by:
karney
From: Charles K. <cha...@sr...> - 2016-02-15 01:59:09
|
Changes between 1.46 (released 2016-02-15) and 1.45 versions: * The following BUGS have been fixed: + the -w flag to Planimeter(1) was being ignored; + in the Java package, the wrong longitude was being returned with direct geodesic calculation with a negative distance when starting point was at a pole (this bug was introduced in version 1.44); + in the JavaScript package, PolygonArea.TestEdge contained a misspelling of a variable name and other typos (problem found by threepointone). * INCOMPATIBLE CHANGES: + make the -w flag (to swap the default order of latitude and longitude) a toggle for all utility programs; + the -a option to GeodSolve(1) now toggles (instead of sets) arc mode; + swap order coslon and sinlon arguments in CircularEngine class. * Remove deprecated functionality: + remove gradient calculation from the Geoid class and GeoidEval(1) (this was inaccurate and of dubious utility); + remove reciprocal flattening functions, InverseFlattening in many classes and Constants::WGS84_r(); stop treating flattening > 1 as the reciprocal flattening in constructors; + remove DMS::Decode(string), DMS::DecodeFraction, EllipticFunction:m, EllipticFunction:m1, Math::extradigits, Math::AngNormalize2, PolygonArea::TestCompute; + stop treating LONG_NOWRAP as an alias for LONG_UNROLL in Geodesic (and related classes) and Rhumb; + stop treating full/schmidt as aliases for FULL/SCHMIDT in SphericalEngine (and related classes); + remove qmake project file src/GeographicLib.pro because QtCreator can handle cmake projects now; + remove deprecated Visual Studio 2005 project and solution files. * Changes to GeodesicLine and GeodesicLineExact classes; these changes (1) simplify the process of computing waypoints on a geodesic given two endpoints and (2) allow a GeodesicLine to be defined which is consistent with the solution of the inverse problem (in particular Geodesic::InverseLine the specification of south-going lines which pass the poles in a westerly direction by setting sin alpha_1 = -0): + the class stores the distance s13 and arc length a13 to a reference point 3; by default these quantities are NaNs; + GeodesicLine::SetDistance (and GeodesicLine::SetArc) specify the distance (and arc length) to point 3; + GeodesicLine::Distance (and GeodesicLine::Arc) return the distance (and arc length) to point 3; + new methods Geodesic::InverseLine and Geodesic::DirectLine return a GeodesicLine with the reference point 3 defined as point 2 of the corresponding geodesic calculation; + these changes are also included in the C, Java, JavaScript, and Python packages. * Other changes to the geodesic routines: + more accurate solution of the inverse problem when longitude difference is close to 180deg (also in C, Fortran, Java, JavaScript, Python, MATLAB, and Maxima packages); + more accurate calculation of lon2 in the inverse calculation with LONG_UNROLL (also in Java, JavaScript, Python packages). * Changes to GeodSolve(1) utility: + the -I and -D options now specify geodesic line calculation via the standard inverse or direct geodesic problems; + rename -l flag to -L to parallel the new -I and -D flags (-l is is retained for backward compatibility but is deprecated), and similarly for RhumbSolve(1); + the -F flag (in conjunction with the -I or -D flags) specifies that distances read on standard input are fractions of s13 or a13; + the -a option now toggles arc mode (noted above); + the -w option now toggles longitude first mode (noted above). * Changes to Math class: + Math::copysign added; + add overloaded version of Math::AngDiff which returns the error in the difference. This allows a more accurate treatment of inverse geodesic problem when lon12 is close to 180deg; + Math::AngRound now converts tiny negative numbers to -0 (instead of +0), however -0 is still converted to +0. * Add -S and -T options to GeoConvert(1). * Add Sphinx documentation for Python package. * Samples of wrapping the C++ library, so it's accessible in other languages, are given in wrapper/C, wrapper/python, and wrapper/matlab. * Binary installers for Windows now use Visual Studio 12 2013. * Remove top-level pom.xml from release (it was specific to SRI). * A reminder: because of the JavaScript changes introduced in version 1.45, you should remove the following installation directories from your system: + Windows: ${CMAKE_INSTALL_PREFIX}/doc/scripts + Others: ${CMAKE_INSTALL_PREFIX}/share/doc/GeographicLib/scripts |