0

我正在尝试计算两点之间相对于谷歌地图上的路线图的近似距离。75% 的时间点不在一条直线上,它们在路线图上形成一个三角形。我正在考虑直角和钝角。由点创建的线是斜边。

让我们取由点形成的线:“x”
其他两条线:“y”和“z”
假设 y 和 z 相等

现在,为了获得最佳效果,我采用了前面所述的两个选项:

选项1:

y = x(sin 45)/(sin90)
Total Distance = 2y

选项 2:

y = x(sin 30)/(sin120)
Total Distance = 2y

通过获取距离的所有坐标来计算距离。它与两者不同,大约为 10% 至 20%。

在几乎所有情况下,第二个都提供了使用谷歌地图车辆距离检查的最佳价值。

有没有更好的选择来获得最大的准确性?

4

1 回答 1

0

你试过Haversine公式吗?

这是:

dlon = lon2 - lon1
  dlat = lat2 - lat1
  a = (sin(dlat/2))^2 + cos(lat1) * cos(lat2) * (sin(dlon/2))^2
  c = 2 * atan2(sqrt(a), sqrt(1-a)) 
  d = R * c
于 2013-06-25T11:58:47.643 回答