【发布时间】:2016-06-13 13:33:50
【问题描述】:
我正在测试不同的公式,以在给定纬度/经度的给定半径内找到地球上的特定点。我一直在使用“余弦的球面定律”以及我认为是Haversine 的实现。
对于以下公式,这些是变量:
[$lat/$lon] = 起点
[纬度/经度] = 第二点
[$radius] = 半径
余弦定律
3959 * acos( cos( radians('.$lat.') ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians('.$lon.') ) + sin( radians('.$lat.') ) * sin( radians( latitude ) ) ) ) <= '.$radius.';
Haversine(至少我认为是!)
3959*3.1415926*sqrt((latitude-'.$lat.')*(latitude-'.$lat.') + cos(latitude/57.29578)*cos('.$lat.'/57.29578)*(longitude-'.$lon.')*(longitude-'.$lon.'))/180) <= '.$radius.';';
我最初看到很多信息说,就准确性而言,Haversine 是黄金标准。然而,似乎也有一种观点认为,余弦球面定律比Haversine 更准确,只要被测距离大于5 米左右。此外,有人说文森蒂在准确性上胜过两者。
三个问题:
我的 Haversine 公式实际上是 Haversine 还是其他什么?
有什么想法最准确?
谁能按照上述论坛的思路向我提供文森蒂的公式?
谢谢!
【问题讨论】:
标签: distance haversine trigonometry