MySQL 搜索地理位置重叠?

MySQL Search for GeoLocation Overlaps?

我正在努力寻找一种半有效的方法来执行以下操作。理想情况下通过 MySQL.

针对该系统执行的每次搜索都包括该个人的地理坐标和范围。 (所以本质上是半径和中心点)。

我希望能够搜索另一个坐标,并返回包含该区域的搜索次数。

使这成为可能的存储数据的最佳方式是什么?我将如何构建查询以获得该结果?

示例:

DATA
Search 1 [-56.1, 43.2], 100 mile radius
Search 2 [-78.23, 45.1], 250 mile radius
Search 3 [-80.1, 44], 10 mile radius
Search 4 [-81.2, 44.4], 50 mile radius

How many searches covered point [-80.1, 44]

你可以看看空间数据类型.. 对于 mysql 和 fot 这些你可以使用 mysql st_contain 函数但是由于 mysql 有不是一个圆函数,你可以用几个与圆相似的点构建一个多边形,并使用这个近似值。这不是一个精确的解决方案,但实际上应该给你一个接近你预期的结果