[SQL] 다른 하나의 반경에있는 좌표를 결정
SQL다른 하나의 반경에있는 좌표를 결정
하자 내가 좌표를 포함하는 행의 표를 말한다.
어떤 다른 좌표의 반경에있는 좌표의 행을 당겨하는 가장 좋은 방법이 있을까요?
내 질문을 단순화하기 위해, 나는 다음과 같은 예제를주고있다 :
Table like:
Columns: Latitude, Longitude.
Row1: 23.44444 24.55555
Row2: 32.44444 28.22222
Row3: 35.11111 32.12345
SQL 문에서, 어떻게 예를 들어 Row3의 반경에있는 좌표의 행을받을 수 있나요?
해결법
-
==============================
1.이 게시물이 쇼에서는 SQL 서버에서이 작업을 수행합니다.
이 게시물이 쇼에서는 SQL 서버에서이 작업을 수행합니다.
그리고 여기 MySQL의에서이를 수행하는 방법입니다 :
SELECT ((ACOS(SIN($lat * PI() / 180) * SIN(lat * PI() / 180) + COS($lat * PI() / 180) * COS(lat * PI() / 180) * COS(($lon - lon) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS distance FROM members HAVING distance<='10' ORDER BY distance ASC
-
==============================
2.거리가 화학식과 같다 :
거리가 화학식과 같다 :
D = 60* 1.1515 * acos (sin(pi*y/180) * sin(pi*Y/180) + cos(pi*y/180) * cos(pi*Y/180) * cos((z-Z) *pi / 180) ) * 180 / pi)
Y 및 Z는 어디에 - 각 테스트 할 행 및 y 및 z의 포인트이다 - 예 열의 점이다.
그래서 당신은 그런 일을 할 수 있습니다 :
나는 접근이 만드는 법을 모르겠습니다. 그러나이 방법은 속도가 느린로 해협과 같다.
-
==============================
3.당신의 반경에서 무엇을 의미합니까? 당신은 거리에서 통과 5마일 말을하고, X 행 5 마일 이내의 모든 행을 찾을 하시겠습니까?
당신의 반경에서 무엇을 의미합니까? 당신은 거리에서 통과 5마일 말을하고, X 행 5 마일 이내의 모든 행을 찾을 하시겠습니까?
이 체크 아웃하는 경우 http://www.microsoft.com/sqlserver/2008/en/us/spatial-data.aspx 그래서
from https://stackoverflow.com/questions/1896213/determine-if-one-coordinate-is-in-radius-of-another by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] CodeIgniter의 모델에서 SQL 문을 인쇄하는 방법 (0) | 2020.06.01 |
---|---|
[SQL] SQL에서 병합 기능 (0) | 2020.06.01 |
[SQL] 도전, 어떻게 분리의 여섯 개 학위 알고리즘을 구현하는 방법? (0) | 2020.06.01 |
[SQL] ANSI SQL 설명서 (0) | 2020.06.01 |
[SQL] 구글 스프레드 시트 "= QUERY는"() 해당 기능을 결합? (0) | 2020.06.01 |