地理位置 - 如何检查2个圆圈是否重叠

时间:2015-11-15 19:53:38

标签: algorithm geolocation gis

假设我们有2个位置(纬度,经度),每个位置都有一个半径(它可能彼此不同),形成一个圆圈。如何检查这2个圆圈是否重叠?

enter image description here

1 个答案:

答案 0 :(得分:4)

检查中心之间的距离是否小于半径之和。

说明半径 A r B r的圈子 A B 和坐标( A x A y )和(< em> B x B y ),圆圈之间的距离为

D = sqrt((A x - B x 2 +(A y - B y 2

时它们重叠

D&lt; r + B r

然而,有一个问题:圆圈的中心放在一个球体上。它们之间的最短距离是一条直线,位于球体表面下方。它们跟随表面的距离会更大。例如,北极和南极之间的距离是2个地球半径,但是表面上的路径将是地球半径。而且,这些圆圈不重叠。因此,上述方程只适用于距离相对较小的情况。