SPATIUM Desktop
주소복사
About Operating System Languages Tools Favorites Notice Visit TEST  
     DB (1)
     PDF (1)
     Recording (1)
     Util (2)
     Web (2)
   ID  
   Password  
  |  
  Location United States
  IP Address 35.173.48.18
2024. 10
12345
67891011
12
13141516171819
20212223242526
2728293031
Category  Languages, SQL
Writer 김태우 Date 2012-07-23 17:07:52 Visit 14040
두 위치(위도,경도)간의 거리 구하는 쿼리

 

위도 경도를 이용한 두 위치간 거리 구하기

 

두 지점의 위도(latitude)와  경도(longitude)를 알고 있을 경우,

직경거리를 구항 경우가 발생하였다.

대략의 구조를 기술한다.

1. 한글 주소를 이용 위도와 경도를 구한다.

    - 네이버 오픈 api 를 이용, 개발 키를 발급 받아서 처리가능하다

2. 주소의 위도와 경도를 저장한다.

3. 비교할 주소의 위도와 경도를 이용 아래 쿼리를 수행한다.

    위치1(lat1,lng1)과 위치2(lat2, lng2)의 거리가 5km 이하인 목록을 20개 검색

 SELECT id, ( 6371 * acos( cos( radians(lat1) ) * cos( radians( lat2 ) )
          * cos( radians(
lng2 ) - radians(lng1) )
          + sin( radians(
lat1) ) * sin( radians( lat2 ) ) ) ) AS distance
  FROM markers
  HAVING distance < 5
  ORDER BY distance
  LIMIT 0 , 20;

 

* 상수 
  3959 = 마일 단위
  6371 = 킬로미터 단위

4. 조인을 이용, 반경 거리와 항목명등을 목록에 표시


 

Tags  위도, 경도, 반경거리, latitude, longitude, 주소간 거리측정
  Relation Articles
[Languages-SQL] 두 위치(위도,경도)간의 거리 구하는 쿼리 (2012-07-23 17:07:52)
  Your Opinion
Member ID
150 letters
Copyright (C) SPATIUM. All rights reserved.
[SPATIUM]WebMaster Mail