sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Desruisseaux (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (SIS-385) Inaccurate formulas in DistanceUtils
Date Sat, 11 May 2019 21:56:00 GMT

     [ https://issues.apache.org/jira/browse/SIS-385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Martin Desruisseaux resolved SIS-385.
-------------------------------------
    Resolution: Fixed

{{DistanceUtils}} is now deprecated and will be deleted after next Apache SIS release. Its
replacement is a class named {{GeodeticCalculator}}, but not the one in Geotk. All formulas
have been replaced and many methods renamed (e.g. "orthodromic distance" → "geodesic distance").
The current version implements only spherical formulas; the ellipsoidal case is another topic,
to be investigated in SIS-386. The spherical formulas are the ones given in [Wikipedia great-circle
navigation article|https://en.wikipedia.org/wiki/Great-circle_navigation], as suggested. Code
can be view there:

* [Distance and azimuths from two points|https://github.com/apache/sis/blob/23fbd3dcde848559bf21a071686ac6f767dd863d/core/sis-referencing/src/main/java/org/apache/sis/referencing/GeodeticCalculator.java#L473]
* [End point from azimuth and distance|https://github.com/apache/sis/blob/geoapi-4.0/core/sis-referencing/src/main/java/org/apache/sis/referencing/GeodeticCalculator.java#L442]


> 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
>            Assignee: 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)

Mime
View raw message