我已经在平面中加载了很多点,我需要从给定点开始绘制一个圆/椭圆,以米为单位的半径距离,然后检查哪些点在圆内。

我已经使用inner()方法对多边形进行了此操作,但是我无法找到一种无需指定多边形周围的每个点即可绘制圆形/椭圆形的方法。

有没有办法在JTS上执行此操作,或者我需要另一个Java库?

最佳答案

如果我正确理解了半径和中心,则可以使用JTS绘制一个圆形,如下所示:

public static Geometry createCircle(double x, double y, final double RADIUS) {
    GeometricShapeFactory shapeFactory = new GeometricShapeFactory();
    shapeFactory.setNumPoints(32);
    shapeFactory.setCentre(new Coordinate(x, y));
    shapeFactory.setSize(RADIUS * 2);
    return shapeFactory.createCircle();
}

10-08 20:12