SPATIUM Mobile
주소복사
About Operating System Languages Tools Favorites Notice Visit TEST  
     Android (3)
     Linux (1)
     MacOS (1)
     OS (1)
     Solaris10 (15)
     Windows (1)
     Windows Server (2)
     Windows XP (3)
   ID  
   Password  
  |  
  Location United States
  IP Address 3.137.213.128
2024. 05
123
4
567891011
12131415161718
19202122232425
262728293031
Category  Languages, SQL
Writer 김태우 Date 2012-07-23 17:07:52 Visit 13777
두 위치(위도,경도)간의 거리 구하는 쿼리

 

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

 

두 지점의 위도(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