4 つの円のデータベースが与えられた場合、各円には半径と地理的に位置付けられた中心があります。
id | radius | latitude | longitude
---+--------+----------+----------
1 | 3 | 40.71 | 100.23
2 | 10 | 50.13 | 100.23
3 | 12 | 39.92 | 100.23
4 | 4 | 80.99 | 100.23
注: 簡単にするために、各円の経度は同じです。
latitude
円 2 にいると仮定すると、 /longitude
座標と各円のに従って、近くのすべての円を見つけたいと思いますradius
。
たとえば、緯度/経度の座標によると、次の順序になります。
- 円 1 (近接のため:
9.42 <- 50.13 - 40.71
) - 円 3 (近接のため:
10.21 <- 50.13 - 39.92
) - 円 4 (近接のため:
30.86 <- 80.99 - 50.13
)
しかし、緯度/経度の座標と各円の半径によると、次のようになります。
- 円 3 (近接のため:
1.79 <- 12 - 10.21
) - 円 1 (近接のため:
6.42 <- 9.42 - 3
) - 円 4 (近接のため:
26.86 <- 30.86 - 4
)
SQLでこれを行う簡単な方法はありますか?