핵심 데이터에 위치 데이터가 저장된 객체가 있는데, 가장 가까운 지점을 가져 와서 현재 위치에 표시하고 싶습니다. 현재 위도/경도에서 저장된 위도/경도까지의 거리를 계산하는 수식이 있음을 알고 있습니다. 그러나 핵심 데이터에 저장된 1000 개 이상의 점 집합에 대해이를 수행하는 가장 좋은 방법이 궁금합니다. 코어 데이터에서 배열로 포인트를 반환 한 다음 점 사이의 거리에 대한 최소값을 찾는 루프를 반복 할 수는 있지만 더 효과적인 방법이 있다고 생각합니다. 코어 데이터를 어떤 방식 으로든 활용할 수 있습니다.가장 가까운 점을 계산하는 효율적인 방법은 무엇입니까?
어떤 통찰력도 인정 될 것입니다.
EDIT : 초기 검색에서 이것을 놓쳤는 지 모르겠지만 this SO question은 핵심 데이터 개체 배열을 반복하면서 현재 위치를 기반으로 테두리 상자로 배열 크기를 제한하는 것을 제안합니다. 이게 내가 할 수있는 최선인가?
경계 상자를 사용하면 매우 합리적인 것처럼 들리며, 첫 번째 점 집합을 빨리 얻어야하며, 추측이 좋으면 너무 반복하지 않아야합니다. 트릭은 오른쪽 상자 크기를 추측하는 것입니다. 작은 점으로 시작하여 여러 점을 찾을 때까지 높이와 너비를 몇 가지 요소만큼 늘릴 수 있다고 상상해보십시오.이 점에서 반복 점을 시작합니다. – Douglas
[this] (http://en.wikipedia.org/wiki/Voronoi_diagrams)가 도움이 될 것으로 생각합니다. – user272879