我必须编写一个具有以下签名的方法
public class Position {
double longitude;
double latitude;
}
boolean isInsideTheArea(Position center, double radius, Position point);
因此,如果point
在area
以center
为中心和以英里radius
为单位的半径的内部,则 this 应该返回,否则。true
false
我必须编写一个具有以下签名的方法
public class Position {
double longitude;
double latitude;
}
boolean isInsideTheArea(Position center, double radius, Position point);
因此,如果point
在area
以center
为中心和以英里radius
为单位的半径的内部,则 this 应该返回,否则。true
false
使用Haversine 公式center
计算和之间的距离point
。如果该距离大于radius
,则返回false
;否则返回true
。
伪代码:
def haversineDistance(a, b):
# snip...
return foo
def isInsideTheArea (center, radius, point):
return haversineDistance(center, point) <= radius
希望这有帮助 还有一些实现示例 http://en.wikipedia.org/wiki/Haversine_formula