加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何根据纬度和经度获得给定范围内的所有点数?

发布时间:2020-12-13 16:00:06 所属栏目:PHP教程 来源:网络整理
导读:场景:我有一个包含三个表,用户,位置,库存的数据库; 在我拥有的用户中:id,name,email 在我所拥有的位置:id,place,lati,logi 我有股票:id,user_id,product,total_count,location_id 我很新,我设法加入所有表格: $qry = "SELECT COUNT(id) FROM stock LEFT
场景:我有一个包含三个表,用户,位置,库存的数据库;

在我拥有的用户中:id,name,email

在我所拥有的位置:id,place,lati,logi

我有股票:id,user_id,product,total_count,location_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(CentralLati – LatitudeofCircle,2)
pow(CentralLongi – LongitudeofCircle,2)< = 4 哪里,CentralLati,CentralLongi => A点的坐标

LatitudeofCircle,LongitudeofCircle => A点周围25kms点的坐标.

您可以调整上面的公式以匹配您的数据库命名约定.

希望我能正确理解你的要求.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读