[Geographiclib-announce] GeographicLib 2.0 (released 2022-05-06)
Geographic library
Brought to you by:
karney
|
From: Charles K. <cha...@gm...> - 2022-05-06 17:39:25
|
Changes between 2.0 (released 2022-05-06) and 1.52 versions:
* Remove non C++ implementations from this package. These are now
managed as separate packages. See
https://geographiclib.sourceforge.io/doc/library.html#languages
* This allowed the cmake interface to be rationalized:
+ Replace GEOGRAPHICLIB_LIB_TYPE by BUILD_SHARED_LIBS (a standard
cmake variable) and BUILD_BOTH_LIBS.
+ Remove COMMON_INSTALL_PATH and replace with variables to
specify where various components are to be installed.
+ Remove BUILD_NETGEOGRAPHICLIB.
+ Remove legacy cmake config support (non-namespace).
+ make exampleprograms does a separate cmake configuration to
mimic how a user's program might find GeographicLib.
+ find_package (GeographicLib) now sets and checks the value of
GEOGRAPHICLIB_PRECISION.
+ Improve the separation of end-user and maintain cmake code.
* More careful treatment of +/-0d and +/-180d.
+ These behave consistently with taking the limits
- +/-0 means +/-eps as eps -> 0+
- +/-180 means +/-(180 - eps) as eps -> 0+
+ As a consequence, azimuths of +0d and +180d are reckoned to be
east-going, as far as tracking the longitude with
Geodesic::LONG_UNROLL and the area goes, while azimuths -0d and
-180d are reckoned to be west-going.
+ When computing longitude differences, if lat2 - lat1 = +/-180d
(mod 360d), then the sign is picked depending on the sign of
the difference.
+ The normal range for returned longitudes and azimuths is
[-180d, 180d].
* Programs in directory tests now allow testing to extend beyond
invocations of the utility programs.
* BUG FIXES:
+ Fixed bug where in the solution of the inverse geodesic problem
where with lat1 = 0 and lat2 = nan was treated as equatorial.
+ Fixed roundoff corner case in geodesic area computation (only
triggered with long double).
* Minor changes in code:
+ Use fmin, fmax, fabs instead of min, max, abs, where appropriate.
+ Parameterize the conversion units for degrees, minutes, seconds
as Math::qd, Math::dm, Math::ms.
+ Ellipsoid::MinorRadius() has be renamed Ellipsoid::PolarRadius().
+ Remove deprecated functions: XXX::MajorRadius, Utility::val, and
placeholders (Math::cbrt, etc.) for C++11 math functions.
+ Can specify the comment character in Utility::ParseLine.
+ Rename various internal identifiers to avoid reserved names.
+ Remove unused internal variable in RhumbLine.
+ The documentation for EllipticFunction specifies restrictions on
the arguments.
+ Put GeodesicExactC4.cpp back into GeodesicExact.cpp.
* Library file now called libGeographicLib.so, etc., instead of
libGeographic.so.
* The .NET version of GeographicLib has been removed.
--
Charles Karney <ch...@ka...>
Princeton, NJ
|