【发布时间】:2017-10-12 07:26:12
【问题描述】:
我有一个 MySQL 表,其中包含三列:lat、lon 和 ID
现在作为输入 我希望用户提供一对纬度和经度。作为回报,我想显示 从最近到最远的排序行。
现在,这个问题的一个解决方案是,获取数组中的所有条目,制作一个临时数组,使用havesine计算每个项目的距离strong> 公式,推送到临时数组,最后对该数组执行任何排序算法。
但是,这个操作很繁重,我想要一个更好的解决方案。有吗?
P.S:我正在使用 PHP 脚本。
【问题讨论】:
-
现有的解决方案对我来说看起来不错。您可能希望提供一个边界框作为 WHERE 子句的一部分,以过滤掉明显超出计算范围的坐标
-
您可以直接在sql中使用haversine公式并对结果值进行排序..
标签: php mysql algorithm sorting