복붙노트

[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. ==============================

    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. ==============================

    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. ==============================

    3.당신의 반경에서 무엇을 의미합니까? 당신은 거리에서 통과 5마일 말을하고, X 행 5 마일 이내의 모든 행을 찾을 하시겠습니까?

    당신의 반경에서 무엇을 의미합니까? 당신은 거리에서 통과 5마일 말을하고, X 행 5 마일 이내의 모든 행을 찾을 하시겠습니까?

    이 체크 아웃하는 경우 http://www.microsoft.com/sqlserver/2008/en/us/spatial-data.aspx 그래서

  4. from https://stackoverflow.com/questions/1896213/determine-if-one-coordinate-is-in-radius-of-another by cc-by-sa and MIT license