【发布时间】:2014-01-18 08:13:48
【问题描述】:
我有一个 MySQL 表,其中包含纬度、经度、用户 ID 和半径列。当用户提供他当前的位置(纬度,经度)以及半径时,我想查询表以根据两个半径为他提供重叠的位置。
例如,如果用户给我的纬度是 12.5;经度73.5,半径5英里;我应该能够检索 MySQL 表中两个半径重叠的所有条目。
我最初的想法是在数据库中为每个 lat、long 创建一个边界框(基于半径),然后根据这个边界框查询传入的位置详细信息。这种方法正确吗?如果我走这条路,有什么我应该担心的吗?任何能指导我正确方向的帮助将不胜感激。
PS:以下链接是我用作参考的内容。
【问题讨论】:
-
别忘了 MySQL 有内置的数据类型:dev.mysql.com/doc/refman/5.5/en/spatial-extensions.html
标签: php mysql latitude-longitude geofencing