这是我通过几篇文章的整合,运用到地图中多个点是否在圆内,以及缩小数据范围。
实现思路:
1、先根据一个点(x纬度,y经度)获取到以圆半径*2边长的正方形,用来缩小数据范围。
2、获取到正方形内所有的点后,然后依次判断数据是否在圆内。
代码如下:
/**
* @Package com.xoxo.arithmetic
* @Description 判断点是否在圆内
* @Author xoxo
* @Date 2018-10-12 17:18
*/
public class PointInMapArithmetic {
private double cx = 0.0D;
private double cy = 0.0D;
private double r = 0.0D;
private static final double EARTH_RADIUS = 6378137.0d;
public PointInMapArithmetic(double x, double y, double r) {
try {
this.cx = x;
this.cy = y;
this.r = r;
} catch (NumberFormatException localNumberFormatException) {
}
}