2013-10-31 5 views
-1

사용자 x의 위도/경도가 50.597186, 5.449219이고 사용자 (약 1 백만)의 위도와 경도가있는 데이터베이스가 있다고 가정 해 보겠습니다. 이제 예를 들어 X 부근의 사용자를 찾으려면 X 위치에서 5km 범위에있는 모든 사용자를 찾으십시오. 데이터베이스의 사용자를 어떻게 찾을 수 있습니까? 어떠한 제안? 나는 lat/lng와 거리 사이의 관계 배를 얻기 위해 this 웹 사이트를 시도했지만 어떻게 이해하지 못합니까?위도와 거리 사이의 관계

+0

오름차순으로 데이터를 정렬 할 수 있으며 그 후 U는 X 위치에서 5km 반경으로 DB를 쿼리 할 수 ​​있습니다. –

답변

1

PHP로 이것을 수행하려면 haversine formula을 사용하십시오. 까다로운 삼각법이지만 매력처럼 작동합니다. 마이너스 lon/lat는 서쪽/남쪽을 나타냅니다 (이 규칙은 보편적으로 따르지 않습니다. 데이터를 확인하십시오).

mysql에서 모든 작업을 수행하려면 haversine을 사용할 수 있으며 반경 내의 다른 점을 근사화하는 구문도 있습니다. this answer을보십시오.

+0

@mattexx에게 감사드립니다. – Sunny