MySQL搜索地理位置重叠?
Posted
技术标签:
【中文标题】MySQL搜索地理位置重叠?【英文标题】:MySQL Search for GeoLocation Overlaps? 【发布时间】:2018-07-30 15:52:17 【问题描述】:我正在努力采用一种半有效的方式来执行以下操作。最好通过 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]
【问题讨论】:
你可以看看空间数据类型 .. for mysql 我们正在使用空间类型,但我不确定这将如何用于这种类型的搜索?也许我错过了一些东西。你有什么特别的想法吗? 给我看一个真实的样本。 见上文,这基本上就是我在做的。 @answer 按照您的建议发布 【参考方案1】:你可以看看空间数据类型 .. 对于 mysql 和 fot 这些你可以使用 mysql st_contain
函数,但由于 mysql 没有圆形函数,你可以构建一个具有多个相似点的 poligon用一个圆圈并使用这个 aproximate 。这不是一个精确的解决方案,但实际上应该给你一个接近预期的结果
【讨论】:
以上是关于MySQL搜索地理位置重叠?的主要内容,如果未能解决你的问题,请参考以下文章