2011-08-19 7 views
14

현재 알려진 위치가 현재 알려진 위치에 가장 가까운 위치를 계산하는 알고리즘을 개발하려고합니다.경도와 위도를 기반으로 가장 가까운 위치를 계산하는 알고리즘

나는 100 개의 알려진 위치 (long-and latitude를 모두 가지고 있음)의 목록을 가지고 있습니다. 100 가지 중에서 하나의 위치를 ​​선택하고 해당 위치를 선택하면 가장 가까운 8 개의 위치를 ​​표시하는 목록이 표시됩니다.

어떻게 해결할 수 있습니까?

편집

나는 거리를 계산하는 방법을 찾고 있지 않다. 알려진 위치가 현재 위치에 가장 가까운 위치를 계산하는 방법을 찾고 있습니다.

예 :

목록이 영화관의 100 개 위치를 포함 말해봐. 나는 극장 5에 있으며, 목록에있는 다른 영화관이 근처에 있는지 알아 보려고합니다. 거리가 아니라 그들의 위치.

+0

위치 별 위도/경도를 의미합니까? – ScruffyDuck

답변

16

Distance Matrix API이 있습니다. 이 API를 사용하면 특정 위치 간의 거리를 계산할 수 있습니다. 당신의 "100 개 알려진 위치는"대부분 동일하게 유지하는 경우, 당신은 작은 그룹으로 알려진 위치를 분할하고 구조를 유지할 수 :

당신은 haversine formula

+0

링크를 이용해 주셔서 감사합니다. 나중에 사용할 수 있지만, 지금 당장 거리를 계산하는 방법을 찾고 있지 않습니다. 현재 위치와 가장 가까운 위치를 찾는 방법을 찾고 있습니다. Forinstances 저는 영화관 'My theater'에 있는데 다른 극장이 근처에 있는지 아는 데 관심이 있습니다. 그들과의 거리가 아니라 그들의 위치. – diceler

+0

그러나 여전히 당신을위한 해결책입니다;) 당신은 당신의'My theatre' 포인트와 100 개의 다른 모든 위치를 얻어야합니다. 그런 다음 100 개의 거리를 모두 계산하고 가장 작은 거리를 선택하십시오. 가장 가까운 지점 (가장 작은 거리)을 찾으려면 모든 거리를 알아야합니다. – hsz

+1

어떤 시점에서 현재 위치에서 x까지의 _ 거리가 임계 값을 초과하는지 결정해야합니다 ... – PLane

1

1 아이디어를 자신으로도이 작업을 수행 할 수 있습니다. 그런 다음 가장 가까운 그룹과 게임하십시오.

More mathematical approaches here

+0

제안에 감사드립니다.) 나는 작은 그룹을 만들고 그룹 당 하나의 위치를 ​​사용하여 가장 가까운 가장 가까운 위치를 계산할 것이다. – netsmertia

1

시도는 가장 가까운 이웃 검색과 K-D 트리 알고리즘을 구현합니다.

관련 문제