[ 
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)

Reply via email to