위치 추적 응용 프로그램을 개발 중이며 현재 위치에서 반경 1000m 이내에있는 모든 친구의 위치를 파악하려고합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?X 점에서 위도와 경도를 찾는 방법은 무엇입니까?
내가 생각할 수있는 한 가지 방법은 내 위치와 모든 친구의 위치 간의 거리를 계산하고 그것이 1000mtr 미만인지 확인하는 것입니다. 그러나 이것은 DB의 각 엔트리를 거치고 각 엔트리를 계산하는데 더 많은 시간을 필요로 할 것이며, 대부분은 아주 멀리 떨어져있을 것입니다.
나는 다른 것을 생각하고있었습니다. 나는 원형 지역 내에 위치를 원한다. 원을 둘러싸는 정사각형의 좌표를 얻을 수있는 경우 해당 정사각형의 좌표 (각도와 경도 집합 사이)에 대한 결과 집합을 필터링 한 다음 각 항목까지의 거리를 계산할 수 있습니다. 어떻게해야합니까? 어떻게 위도와 경도를 극대화 할 수 있습니까? 또한 내 SQL 쿼리는 분 < (each.location.degree) < 최대처럼
이 더 좋은 대안이 있다면 알려주세요있을 것입니다. 나는 극도의 정확성과 성능에 대해 걱정하지 않는다. WP8을 사용하고 있으므로 좌표는 다음 형식으로되어 있습니다. Lat : 47.626, Long : -121.989.
당신은 내가이 공식 뒤에 논리를 이해할 수있는 자원을 공유 할 수 있습니까? –
http://www.plumislandmedia.net/mysql/haversine-mysql-nearest-loc/ MySQL 논리를 매우 간단하게 설명합니다. 공식은 http://en.wikipedia.org/wiki/Haversine_formula –
으로 이동하십시오. 머리가 위로 향하는 경우, 여러 언어의 경우, dist가 111보다 작고 int 인 경우 대신 dist를 111.0으로 나누거나 당신의 dist가 float으로 출력이 float인지 확인하십시오. 그렇지 않으면 dist/111이 0 (int)으로 나올 수 있습니다. – lmc