我在地图上有两个点,周围有一个区域(假设是5英里),我需要找出它们是否相交。例如,假设每个点周围都有一个半径为5英里的圆。我要找出这两个圆圈是否重叠。有谁能告诉我能做到这一点的数学方法吗?
顺便说一句,我正在使用Solr进行其他地理空间搜索。有人知道这是否可以用Solr来完成吗?
谢谢!
发布于 2012-05-14 15:17:43
只要取圆心之间的距离即可。如果它比r1 + r2小,那么它们是重叠的。
int distance = calculateDistance();
int r1 = circle1.getRadius();
int r2 circle2.getRadius();
boolean overlap = distance < r1+r2;https://stackoverflow.com/questions/10578930
复制相似问题