gpt4 book ai didi

google-maps - 两个经纬度点之间的距离

转载 作者:行者123 更新时间:2023-12-04 15:37:02 25 4
gpt4 key购买 nike

可以使用从 google apis 返回的纬度和经度以经典方式比较距离(两点之间的距离: d = sqrt(pow(lat2-lat1, 2) + pow(lon2-lon1, 2)) )而不用任何转换为​​米或……?我需要它只是为了比较以找到从一系列点到引用点的最近点。例如:

假设我们有两个 (lat,lon) 点:(40.2535425,22.88245345) 和 (40.2565795,22.8884539)
我们想找到最接近 (40.2335425,22.83245345) 的女巫。可以应用上面的代码来找到距离吗?或者我们需要找到距离,让我们说以米为单位(使用半正弦公式或其他),首先从引用点开始计算每个点,然后比较值?

我问这个问题是因为我不知道 google apis 作为 lat, lon 返回的值到底是什么!我的意思是不是 deg-min-sec 是吗?

谢谢...

最佳答案

不,因为经线会向两极汇聚。如果您的点相对较近,您可以这样估算距离:

d = sqrt(pow(lat2-lat1, 2) + cos(lat1)*pow(lon2-lon1, 2))

如果您需要在远距离上获得更高的精度,可以使用几个花哨的计算公式 great-circle distances ,但我发现在单位圆上转换为 3D 坐标更简单,然后做一个简单的毕达哥拉斯距离,然后是 2 sin-1(d/2) 转换回一个角度(尽管我可以理解有些人可能找不到这更简单,:-)。

关于google-maps - 两个经纬度点之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5538324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com