gpt4 book ai didi

java - 需要围绕纬度和经度位置的半径

转载 作者:太空宇宙 更新时间:2023-11-04 15:23:47 24 4
gpt4 key购买 nike

所以我得到了一个 FQL 查询,并且得到了一个人的纬度和经度。

例如:纬度:51.219215899999990000 和经度:4.402881799999932000

现在这是一个位置,我需要像这些坐标周围 50000 米半径内的所有事件一样。所以我得到了我的 FQl 查询:

WHERE uid1 = me() LIMIT 500 ))  AND start_time>'" + startTime + "' 
AND start_time<'" + endTime + "' AND venue.latitude < "NEED"
AND venue.latitude > "NEED" and venue.longitude < "NEED"
AND venue.longitude > "NEED"
ORDER BY attending_count DESC
LIMIT 25

凡是有需要的地方,我都需要输入坐标,这样我就能得到该人位置的半径 50000 米的位置。我该如何计算?

最佳答案

一纬度是111.13公里。

一度经度为 111.32km * cos( 纬度 )。

计算余弦值时,不要忘记将纬度转换为弧度。另外,我假设您意识到,使用您正在使用的 FQL,您实际上得到的是正方形,而不是圆形。

将所有这些放在一起,您可以说两点之间的南北距离(以公里为单位)为(纬度差)* 111.13,东西向距离为(经度差)* 111.32 * cos(纬度(以弧度为单位)。为了保证距离小于50km,你用毕达哥拉斯定理得到条件

((difference in latitude) * 111.13)^2 + (difference in longitude * 111.32 * cos(latitude in radians))^2 < 2500

不知道FQL是否有三角函数。如果没有,您必须计算 FQL 之外的余弦,然后相应地构建 FQL。

关于java - 需要围绕纬度和经度位置的半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20085478/

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