从坐标计算半径并查找表中半径内的所有匹配项

时间:2012-09-18 13:06:38

标签: php mysql math

  

可能重复:
  SQL: Determine if one coordinate is in radius of another

在表格中,我存储了纬度和经度(作为浮点数)。现在我想查询我的表以查找具有给定半径内坐标的所有行(可以是2km,5km,10km等)。我真的不知道如何实现这一点,所以任何帮助将不胜感激。我不确定如何查询,因为我认为结果将是一组无穷无尽的坐标,代表半径的“边界”,我不得不告诉我的表在“边界”内搜索结果。

3 个答案:

答案 0 :(得分:4)

你需要熟悉Haversine forumla这将通过mysql计算你想要的lat和lon的距离

答案 1 :(得分:3)

查看Stack Overflow answer here。仅给出了数学公式和相应查询的解释。问题似乎几乎相似。

希望它有所帮助...

答案 2 :(得分:2)

试试这个:我用这篇文章来制作最近的位置查找器

http://davidsimpson.me/2008/09/28/find-nearest-store-page-using-php-mysql-and-google-maps/