데이터베이스에서 마커 반경 내 결과를 검색하는 방법: 정확한 거리 계산
데이터베이스에서 지정된 마커 반경 내에 속하는 결과를 정확하게 확인하려면 데이터베이스에서는 원의 방정식을 고려하는 것이 중요합니다.
(x-x1)^2 + (y - y1)^2 = r^2
여기서 (x,y)는 원 내의 점을 나타내고, (x1, y1)은 원의 중심이고, r은 원의 반경입니다. .
이 질문의 맥락에서 원의 중심은 사용자의 마커 위치(위도 및 경도)이고 잠재적인 일치 또는 결과는 원 내의 점으로 표시됩니다. 반경은 1킬로미터로 설정됩니다.
다양한 단위(위도 및 경도의 각도와 반경의 킬로미터) 문제를 해결하기 위해 방정식을 다음과 같이 수정합니다.
((x-x1)*111.12)^2 + ((y-y1)*111.12)^2 = 4 (where 2 is the radius in kilometers and 111.12 represents the conversion factor from degrees to kilometers)
이 방정식을 기반으로 마커 원과 교차하는 결과를 검색하는 SQL 문은 다음과 같이 작성할 수 있습니다.
SELECT A.user_id, A.radius_id, A.latitude, A.logitude FROM UserA AS A, (SELECT user_id, latitude, longitude FROM UserB WHERE user_id = 8) AS B WHERE (POW((A.latitude-B.latitude)*111.12, 2) + POW((A.longitude - B.longitude)*111.12, 2)) <= 4
위 내용은 데이터베이스에서 마커 반경 내의 결과를 검색하는 방법: 정확한 거리 계산을 위한 SQL 접근 방식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!