You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by "Charles Karney (JIRA)" <ji...@apache.org> on 2018/01/17 15:02:00 UTC
[jira] [Commented] (SIS-385) Inaccurate formulas in DistanceUtils
[ https://issues.apache.org/jira/browse/SIS-385?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16328858#comment-16328858 ]
Charles Karney commented on SIS-385:
------------------------------------
The issue descriptions don't quite match the two complaints I made on the mailing list. This one was referring to problems with the computations on a *sphere* (not an *ellipsoid*). Currently the SIS routines are sub-standard returning results involving arcsine or arccosine which are subject to large rounding errors in some cases. I recommend following the methodology in the Wikipedia article, [Great-circle navigation|https://en.wikipedia.org/wiki/Great-circle_navigation], using the more accurate formulas (involving atan2) where appropriate.
> Inaccurate formulas in DistanceUtils
> ------------------------------------
>
> Key: SIS-385
> URL: https://issues.apache.org/jira/browse/SIS-385
> Project: Spatial Information Systems
> Issue Type: Bug
> Components: Referencing
> Affects Versions: 0.1-incubating, 0.2-incubating, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8
> Reporter: Martin Desruisseaux
> Priority: Major
> Fix For: 1.0
>
>
> 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|https://lists.apache.org/thread.html/85ba228a3191f2952f2e37caa489f929daffd491da50484972af4aef@%3Cdev.sis.apache.org%3E], together with proposed fixes. One possible action is to deprecate {{DistanceUtils}} in favor of something like the {{GeodeticCalculator}} class [in the Geotk project|http://www.geotoolkit.org/apidocs/org/geotoolkit/referencing/GeodeticCalculator.html]. 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/|https://geographiclib.sourceforge.io/].
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)