나는 주어진 점에서 시작하여 원/타원을 그릴 필요가있는 평면 내에 이미로드 된 거대한 세트의 점과 미터로 반경 거리를 계산 한 다음 원 안에 점이 있는지 확인해야합니다.JTS로 원 안에 점
이미 within() 메서드를 사용하여 다각형을 만들었지 만 다각형 주위의 모든 점을 지정하지 않고 원/타원을 그리는 방법을 찾을 수 없습니다.
JTS에서이 작업을 수행 할 수있는 방법이 있습니까? 아니면 다른 Java 라이브러리가 필요합니까?
나는 주어진 점에서 시작하여 원/타원을 그릴 필요가있는 평면 내에 이미로드 된 거대한 세트의 점과 미터로 반경 거리를 계산 한 다음 원 안에 점이 있는지 확인해야합니다.JTS로 원 안에 점
이미 within() 메서드를 사용하여 다각형을 만들었지 만 다각형 주위의 모든 점을 지정하지 않고 원/타원을 그리는 방법을 찾을 수 없습니다.
JTS에서이 작업을 수행 할 수있는 방법이 있습니까? 아니면 다른 Java 라이브러리가 필요합니까?
지점과의 거리가 반지름보다 작은 지 확인할 수 있습니다. 어떤 점이 안에 있는지 알기 위해 원을 그릴 필요가 없습니다. 보다 빠른 실행 시간을 위해서는 거리의 제곱과 반지름의 제곱을 비교하십시오. 이렇게하면 불필요한 제곱근 연산이 절약됩니다.
타원의 경우 문제는 단 2 차원 양식 x^2 + k y^2
을 포함하여 약간 더 어렵습니다. 내가 제대로 이해하면
당신은 반경과 중심을 가지고, 그래서 당신은이 같은 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();
}
이유 shapeFactory.setNumPoints (32);? 어떻게 32 세가 됐니? –