Talk:Haversine formula: Difference between revisions

respond to Eliasen
(→‎Different results: pls pur a sentence or two in the task description (or do people read the talk?))
(respond to Eliasen)
 
(7 intermediate revisions by 5 users not shown)
Line 62:
::::Was it you who said that it's difficult to create watertight task descriptions:-)
::::Thanks anyway --[[User:Walterpachl|Walterpachl]] 05:07, 20 August 2012 (UTC)
:::::''Recommend a radius for future implementors''. Mention both and then recommend one sounds good as it would leave the examples already there alone or allow them to be updated. Or would we want to force all the examples to use the one radius? (Is it that much of a problem? --[[User:Paddy3118|Paddy3118]] 07:26, 20 August 2012 (UTC)
:I have a sneaking suspicion that the fortran code c = 2*atan2(sqrt(a),sqrt(1-a)) is wrong. I can't prove it. Does anyone have a Fortran compiler handy?
 
I've change the recommended radius to the mean earth radius. This choice minimizes the RMS relative error and is consistent with the choice which conserves the volume and the area of the earth (in the limit of small flattening). The previous recommendation was the "quadratic mean radius". Unfortunately, its derivation contained a flaw in the way azimuths were sampled, so it does not minimize any reasonable error metric. For an extended discussion see this [https://en.wikipedia.org/wiki/Talk:Great-circle_distance/Archive_1 archived talk page for Great-circle distances] on Wikipedia. [[User:Cffk|cffk]] ([[User talk:Cffk|talk]]) 22:48, 10 February 2014 (UTC)
 
:With 53 examples, it is too late to make most radical changes. Try appending a recommendation instead. --[[User:Paddy3118|Paddy3118]] ([[User talk:Paddy3118|talk]]) 07:55, 11 February 2014 (UTC)
 
If you want to use a high-accuracy function for the *actual* distance on earth's geoid, you should probably look at the [https://rosettacode.org/wiki/Haversine_formula#Frink Frink entry]. [https://frinklang.org/fsp/colorize.fsp?f=navigation.frink Frink's navigation library] contains high-accuracy calculations of distances on earth's ellipsoid. These calculations are due to:
 
"Direct and Inverse Solutions of Geodesics on the Ellipsoid with Application
of Nested Equations", T.Vincenty, ''Survey Review XXII'', 176, April 1975.
http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf
 
There is also a slightly higher-accuracy algorithm (if you want nanometer accuracy instead of sub-millimeter accuracy):
"Algorithms for geodesics", Charles F. F. Karney, ''Journal of Geodesy'', January 2013, Volume 87, Issue 1, pp 43-55
http://link.springer.com/article/10.1007%2Fs00190-012-0578-z
 
In short, a most accurate distance on the Earth's geoid, given the WGS84 geoid, is:
 
2892.776957 km
--[[User:Eliasen|Eliasen]] ([[User talk:Eliasen|talk]]) 07:35, 24 April 2022 (UTC)
 
: But at that point you're no longer using the Haversine formula. The task is not to compute the most accurate distance possible between two points on the surface of the Earth. -- [[User:Markjreed|Markjreed]] ([[User talk:Markjreed|talk]]) 22:38, 24 April 2022 (UTC)
 
: Additionally, these implementations are very close. The [[Haversine_formula#bc|bc implementation]] with WGS84 ellipsoid¹ is guaranteed to have less than ¼% of error (0.21877% from your given number). This is “good enough” for something this easy to port to various programming languages that might not have enough functionality to support the “better” maths. 【¹) Though I switched to the Astronomical Almanac 2021 radius of i=6378136.600, x stays the same, in my “current” version, which is supposedly more precise. It’s very very close to WGS84, still.】 [[User:Mirabilos|mirabilos]] ([[User talk:Mirabilos|talk]]) 01:00, 25 April 2022 (UTC)
Anonymous user