根据坐标

时间:2017-10-12 07:26:13

标签: php mysql algorithm sorting

我有一个 MySQL 表,其中有三列: lat lon ID

现在作为输入我希望用户提供一对Lat&长即可。作为回报,我想显示排序的行距离最近的

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

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

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

1 个答案:

答案 0 :(得分:1)

简短回答:不。

答案很长:也许吧。如果你在一个给定的非常有限的半径范围内工作,你可以通过在lat和lng中每十度建立一个固定值来简化事情并应用hypothenuse([delta lat square + delta lng square]的平方根)。

但这只适用于非常接近中心点的点。