위도와 경도의 2D 플로트 배열로 표현 된 수천 개의 포인트가 있습니다. 이 세트는 위도의 최소값과 최대에서 근접으로 포인트 세트 그룹화
(42.385305, -87.963793)
(41.703427, -88.121665)
(41.889764, -87.978553)
(41.995931, -87.787501)
(42.25875, -87.948199)
.
.
.
는 34.03176 42.470814하고, 그리고 경도 -118.238819 가진자는 -87.598201하고있다.
이 포인트를 0.025 위도와 0.03 경의 존으로 그룹화 한 다음 각 존을 한 번 고려하여 각 존의 포인트에 대한 계산과 작업을 수행하려고합니다.
두 개 이상의 지점이 너무 가깝게 위치하는 반경 3km 이내의 지점을 찾을 수 있다면 훨씬 더 좋습니다.
해시 맵 또는 2D 배열을 사용하려고 생각했지만 유효 키를 설정하거나 올바른 영역을 참조하는 것은 까다로울 수 있습니다.
R-tree는 건물이 복잡하고 효율적이지 않으므로 특히 무작위 액세스가 필요하지 않기 때문에 적절하지 않을 수 있습니다. 위에서 언급 한 것처럼 각 영역을 하나씩 순회하고 있습니다.
효과적인 방법은 무엇입니까? 완전히 거리 계산을 벡터화 경우