php - 根据坐标对MySQL记录进行排序

标签 php mysql algorithm sorting

我有一个 MySQL 表,其中包含三列:latlonID

现在作为输入我希望用户提供一对纬度和经度。作为返回,我想显示从最近到最远的排序行

现在,这个问题的一个解决方案是,获取数组中的所有条目,制作一个临时数组,使用haversine计算每个项目的距离strong> 公式,推送到临时数组,最后对该数组执行任何排序算法。

但是,这个操作很繁重,我想要一个更好的解决方案。有吗?

P.S:我正在使用 PHP 脚本。

最佳答案

简短回答:否。

长答案:也许吧。如果您在给定且非常有限的半径内工作,您可以通过为 lat 和 lng 中的每十分之一度建立一个固定值并应用假设([delta lat squared + delta lng squared] 的平方根来简化事情).

但这仅适用于非常靠近您的中心点的点。

关于php - 根据坐标对MySQL记录进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46703806/

相关文章:

PHP - 需要删除字符串中的重复字符但希望包含异常

mysql - 显示重复记录的最高 3 分

mysql - 连接与子查询

php - 从 php MySQL 查询输出分号分隔的行

python - 超出分区列表问题的时间限制

algorithm - 有向图 : checking for cycle in adjacency matrix

algorithm - A* 启发式创建 Bresenham 线

php - 显示已连接用户的号码和姓名

php - 以特殊顺序同时遍历多个迭代器

php - 有什么方法可以在站点地图页面上显示 3 个以上的类别? (打开购物车 3)