sis-commits mailing list archives

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

     [ https://issues.apache.org/jira/browse/SIS-386?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

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|https://doi.org/10.1007/s00190-012-0578-z].
* Test with [Charles F. F. Karney (2010), Test set for geodesics|http://doi.org/10.5281/zenodo.32156]
files together with [GeographicLib|https://geographiclib.sourceforge.io/] as the reference
implementation.

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: https://issues.apache.org/jira/browse/SIS-386
>             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|https://lists.apache.org/thread.html/eee29fc53123e94b74c22737413b2572d3e4c9e4f111847fefb6a3af@%3Cdev.sis.apache.org%3E].
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
algorithm.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Mime
View raw message