The file

core/sis-referencing/src/main/java/org/apache/sis/distance/DistanceUtils.java

contains a routine getPointOnGreatCircle which includes an expression
for lat2 involving an arcsine.  This is inaccurate if lat2 is near a
pole.  Better to use the formula for tan(lat2) given in Note 5 of the
Wikipedia article

https://en.wikipedia.org/wiki/Great-circle_navigation

It also contains a routine getHaversineDistance.  This is misnamed; it
should be called getGreatCircleDistance.  (The so-called Haversine
method is a particular, not very good, formula for the distance.  It
isn't being used in this routine.)

The formula used by getHaversineDistance (or getGreatCircleDistance)
involves an arccosine.  This is inaccurate for short distanaces.  Better
to use the tangent formula given in Note 2 of the same Wikipedia
article.

  --Charles

Reply via email to