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