2012-09-18 134 views
3

可能重复:
SQL: Determine if one coordinate is in radius of another计算半径,并找到半径内的所有匹配表

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

+0

你需要的“大圆距离”公式 – Randy

+0

我要去谷歌现在。谢谢! – Ben

+1

http://stackoverflow.com/questions/1896213/sql-determine-if-one-coordinate-is-in-radius-of-another 可以帮助你,也许 – Roman

回答

2

试试这个:我用这篇文章,以使最近的位置取景器

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

感谢您的回答,+1。我在演示文稿中找到了类似的帖子。如果其他解决方案不起作用,我会试试这个。 – Ben

4

你需要熟悉Haversine forumla这将是你所期望通过mysql的计算从纬度和经度的距离

+0

感谢您的回答,+1。我将首先尝试Shubhansh解决方案,如果这不起作用,我会尝试一下您的建议。 – Ben

+0

够公平,祝你好运! – wesside

3

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

希望它可以帮助...

+0

谢谢,我也在你提到的帖子中给出了答案。你已经解释清楚了,我会试试看。 – Ben