给定一个包含 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
注意:为了简单起见,每个圆圈的经度都是相同的。
假设我们在圆 2 上,我想根据每个圆的latitude
/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 中做到这一点?