我正在尝试计算Google地图上相对于路线图的两点之间的近似距离。 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%不同。
在几乎所有情况下,第二个提供了检查Google地图车辆距离的最佳价值。
是否有更好的替代方案以获得最高准确度?
答案 0 :(得分: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