Php 如何根据纬度和经度获取给定范围内的所有点?
场景:我有一个包含三个表的db,用户、位置、库存 在用户中,我有:Php 如何根据纬度和经度获取给定范围内的所有点?,php,mysql,math,mysqli,Php,Mysql,Math,Mysqli,场景:我有一个包含三个表的db,用户、位置、库存 在用户中,我有:id、姓名、电子邮件 在我拥有的位置中:id、place、lati、logi 在库存中,我有:id、用户id、产品、总数、位置id 我是个新手,我设法加入了所有的表格: $qry = " SELECT COUNT(id) FROM stock LEFT JOIN users ON stock.user_id= users.id LEFT JOIN locations ON stock.locati
id、姓名、电子邮件
在我拥有的位置中:id、place、lati、logi
在库存中,我有:id、用户id、产品、总数、位置id
我是个新手,我设法加入了所有的表格:
$qry = "
SELECT COUNT(id)
FROM stock
LEFT
JOIN users
ON stock.user_id= users.id
LEFT
JOIN locations
ON stock.location_id= locations.id ";
但我希望能够做到的是使用lati和logi按距离排序。举个例子,我想要25英里内的所有东西,从最近到最远排序
在给出场景时,我如何才能实现这一点
我在谷歌上搜索了一下,但我发现的所有东西都告诉我如何计算两点之间的距离,但我想使用一组点,并在X英里范围内获得所有东西
不确定这些是否都有意义?我在应用程序中提出了以下计算公式:
pow(中心-纬度圈,2)+
pow(中心-纵向圆,2)a点的坐标
LatitudeOfcle,LongtudeOfcle=>点A周围25km处点的坐标
您可以调整上述公式以匹配数据库命名约定
希望我正确理解了您的要求。计算两个纬度和经度点之间距离的公式是什么?为此,您必须使用正弦和余弦函数。哈弗森公式(根据)可以吗?我想我可能是想得太多了。谢谢@devpro,您提供的链接能够实现此目的。