PHP MySQL - Levenshtein替代十进制

时间:2012-01-22 03:06:06

标签: php mysql geolocation levenshtein-distance

我有一个带有纬度和经度坐标的数据集(两个独立的十进制列)。我需要对它们进行搜索并根据提供的纬度/经度坐标通过接近度对它们进行排序。

我不反对将列转换为varchar来执行匹配/反对搜索,但我知道匹配/反对是针对单词进行优化的。

按距离对坐标进行排序的最佳方法是什么?如果需要,我可以通过PHP完成此操作,但我更愿意在对象层执行此操作以减少服务器负载和加载时间。

我目前正在测试匹配/反对方法。

总结:

给定-90.23, 13.18按照接近顺序返回最匹配的纬度/经度坐标对。

示例结果:

[1] -90.24, 13.17
[2] -90.18, 12.99
[3] -91.78, 16.98
[4] -90.27, 24.78

1 个答案:

答案 0 :(得分:0)

有许多方法可以计算各组点之间的地理距离。有些是准确的,其他人很快。您选择哪种方法都取决于您的要求。由于Stack Overflow中有许多已回答的问题,这些问题有特定的答案:

https://stackoverflow.com/search?tab=votes&q=distance%20mysql