boostorg / boostorg/geometry

large distance errors appearing in the short-range case by Andoyer and Thomas formulas

Open
#1,217 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
517
Forks
232
PR merge metrics
No merged PRs in 30d

Description

Hello,
The Boost Geometry's distance calculations by Andoyer and Thomas formulas seem to induce large errors in the short-range case, as shown in
Figure 1. The maximum absolute distance error as a function of distance. in [GEODESIC ALGORITHMS: AN EXPERIMENTAL STUDY](https://pdfs.semanticscholar.org/0fd3/7bed6be199ee1766ae46a6ec2ed409d0304c.pdf) by Vissarion Fisikopoulos (2019).

I think they should use [law of haversines](https://en.wikipedia.org/wiki/Haversine_formula#The_law_of_haversines) formula for distance (i.e., d = 2 * asin(sin_d_half)) for accuracy, instead of [spherical law of cosines](https://en.wikipedia.org/wiki/Spherical_law_of_cosines) (i.e., d = acos(cos_d)).
Thank you.

Contributor guide

Open the contributing guide

Research direction

Start by locating the Boost.Geometry implementations of the Andoyer and Thomas distance formulas and their existing distance tests. Reproduce the short-range errors described in the issue and compare the current spherical-law-of-cosines calculation with the proposed haversine approach. Done means the short-range accuracy is improved and regression coverage is added.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.