这是我通过几篇文章的整合,运用到地图中多个点是否在圆内,以及缩小数据范围。
实现思路:
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) {
}
}
public boolean isInArea(double x, double y) {
return isInArea(x, y);
}
public boolean isIn

本文介绍了一种地图算法,用于确定多个点是否位于圆形区域内。首先通过构建以圆心为对角线的正方形来缩小数据范围,然后检查正方形内的每个点是否在圆内。这种方法提高了判断效率。
最低0.47元/天 解锁文章
1104

被折叠的 条评论
为什么被折叠?



