sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Desruisseaux (Jira)" <>
Subject [jira] [Resolved] (SIS-386) Replace DefaultEllipsoid.orthodromicDistance(…) method
Date Tue, 27 Aug 2019 12:56:00 GMT


Martin Desruisseaux resolved SIS-386.
    Resolution: Fixed

Committed on master:

* {{DistanceUtils}} class deprecated in SIS 1.0, to be deleted in SIS 1.1.
* {{DefaultEllipsoid.orthodromicDistance}} method deprecated in SIS 1.0, to be deleted in
SIS 1.1.
* {{GeodeticCalculator}} rewritten (actually the {{GeodesicsOnEllipsoid}} subclass) using
the algorithm published in [Charles F. F. Karney (2013), Algorithms for geodesics|].
* Test with [Charles F. F. Karney (2010), Test set for geodesics|]
files together with [GeographicLib|] as the reference

Not yet done in this commit but could be done in a future version: {{GeodeticCalculator}}
could delegate to GeographicLib automatically if we detect at runtime that the library is
available on the classpath.

Note that current {{EllipsoidsOnGeodesics}} implementation is probably not as robust as GeographicLib.
See SIS-467 for more information.

> Replace DefaultEllipsoid.orthodromicDistance(…) method
> ------------------------------------------------------
>                 Key: SIS-386
>                 URL:
>             Project: Spatial Information Systems
>          Issue Type: Bug
>          Components: Referencing
>    Affects Versions: 0.4, 0.5, 0.6, 0.7, 0.8
>            Reporter: Martin Desruisseaux
>            Assignee: Martin Desruisseaux
>            Priority: Major
>             Fix For: 1.0
> The {{DefaultEllipsoid.orthodromicDistance}} method has the following problems:
> * Could have a better name.
> * It does not converge in some situations.
> * The wraparound over some non-convergence problems is itself erroneous.
> Charles Karney kindly listed the problems [on the developer mailing list|].
A possible action would be to deprecate {{orthodromicDistance}}, to be replaced by the same
{{GeodeticCalculator}} (or any other name) class than the one proposed for SIS-385.
> *Historical note:* {{orthodromicDistance}} was defined in the {{DefaultEllipsoid}} class
because it made easy to override the method with code optimized for the spherical case. A
future version could also override the method with code for triaxial ellipsoid. But experience
in the Geotk project suggest that this method is almost never used, since {{GeodeticCalculator}}
is used instead.
> As an alternative to deprecate {{DefaultEllipsoid.orthodromicDistance}}, we could keep
it (after renaming), fix the issues identified by Charles, and design {{GeodeticCalculator}}
as a class that use {{DefaultEllipsoid}} under the hood instead than re-implementing its own

This message was sent by Atlassian Jira

View raw message