在搜索表单中包含距离



我想在网站上实现按距离搜索。例如,必须有一个用户在居住的城市中找到居住在100或200公里内的所有用户。

我的数据库中有一个表,存储所有城市及其坐标。

我想创建另一个表来存储所有城市之间的距离,但我的数据库包含 36,000 个城市,它可能会产生很多记录......

我怎样才能更简单地知道我的项目将使用Symfony和Doctrine开发?

事先谢谢你

您可以使用此处的正确答案来确定坐标之间的距离。

在 PHP 中测量两个坐标之间的距离

出于性能原因,您需要使用地理空间索引来有效地查询此类数据库。例如,MongoDB有一个功能。

如果性能不是问题,您可以简单地将位置存储在关系数据库表中,并在 SQL 中计算距离。有关此解决方案的一些信息,请参阅此问题:PHP/MySQL 中的地理搜索(距离)(性能)

最新更新