2011-11-30 8 views
0

6000 개가 넘는 GPS 위치가있는 데이터베이스가 있습니다. 사용자의 현재 위치를 비교하고 사용자가 6000 개의 위치 중 어느 곳에서 10 미터 이내에 있는지 여부를 감지하고 싶습니다.다른 위치의 목록과 현재 위치 비교

6000 점을 모두 무시하고 상대 거리를 계산하지 않고 어떻게 달성 할 수 있습니까?

감사합니다, 다니엘

UPDATE : 어떻게 5^2 미터의 직사각형의 중간에 사용자의 현재 위치를 넣어 bottm_right 사이 current.latitude 모든 위치를 추출 있을지에 대해. 위도와 top_left.latitude 같은 longtitude 간다?

+0

이 대답을보세요. http://stackoverflow.com/a/12997900/779408 – breceivemail

답변

0

간단한 방법은 geohash에서 색인을 생성하기 위해 다른 데이터베이스를 만들거나 현재 데이터베이스를 수정하는 것입니다. 이 방법은 위치 밀도를 잘 처리하지 못하기 때문에 포인트가 잘 분산되지 않으면 개선되지 않을 수도 있습니다. 6000 개 위치가 논리적으로 어떻게 든 그룹화하지 않는

+0

핵심 데이터를 사용하고있어 옵션이라고 생각하지 않습니다. 덕분에 –

0

논리적으로, 당신은 당신이 위치 지역 (그룹으로 GPS 위치를 구성 할 수있는 데이터베이스 구조를 제어 할 경우 모두 6000

을 통과해야 할 것되는 서로 가깝다면) 이것은 6000을 10,20,30 또는 100 개의 그룹으로 나눠야합니다 (얼마나 잘 갈지에 따라). 각 그룹은 중간 지점 위치와 총 거리를 가질 수 있습니다. 그룹 다음에 그 전체 거리를 염두에두고 그룹을 반복 할 수 있습니다. 그 다음에는 그곳에서 잘게 ...니다.

+0

코어 데이터를 사용하고 있으므로 이러한 컨트롤이 없습니다. 감사. –

관련 문제