The DistanceUtils class has the following problems:
- Inaccurate formula in getPointOnGreatCircle.
- Inaccurate formula in getHaversineDistance.
- Misnamed getHaversineDistance method.
Charles Karney kindly provided descriptions of the problems on the developer mailing list, together with proposed fixes. One possible action is to deprecate DistanceUtils in favor of something like the GeodeticCalculator class in the Geotk project. That class is a port in Java of following Fortran code:
- ftp://ftp.ngs.noaa.gov/pub/pcsoft/for_inv.3d/source/forward.for subroutine DIRECT1.
- ftp://ftp.ngs.noaa.gov/pub/pcsoft/for_inv.3d/source/inverse.for subroutines GPNARC (version 200005.26) and GPNHRI (version 200208.09) written by Robert (Sid) Safford.
But we may take another source if suitable, for example https://geographiclib.sourceforge.io/.