PHP MySQL - 十进制的 Levenshtein 替代方案

Posted

技术标签:

【中文标题】PHP MySQL - 十进制的 Levenshtein 替代方案【英文标题】:PHP MySQL - Levenshtein alternative on decimal 【发布时间】:2012-01-22 03:06:06 【问题描述】:

我有一个包含纬度和经度坐标的数据集(两个单独的小数列)。我需要根据提供的纬度/经度坐标对它们进行搜索并按邻近度对它们进行排序。

我不反对将列转换为 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

【问题讨论】:

Formulas to Calculate Geo Proximity的可能重复 【参考方案1】:

有多种方法可以计算点集之间的地理距离。有些是准确的,有些是快速的。您选择哪种方法完全取决于您的要求。由于 Stack Overflow 上有许多已回答的问题都有具体的答案:

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

【讨论】:

以上是关于PHP MySQL - 十进制的 Levenshtein 替代方案的主要内容,如果未能解决你的问题,请参考以下文章

php + mysql 取得数据库中二进制文件,生成链接供打开

PHP MySQL - 十进制的 Levenshtein 替代方案

LAMP环境部署:Apache源码安装+MySQL二进制安装+PHP源码安装+Nginx源码安装

php文件以二进制形式上传并放入到数据库中

如何在mysql中将二进制转换为整数?

LNMP(nginx php-fpm mysql) 环境部署——mysql