스마트웹앱콘텐츠전문가/데이터베이스

[MySQL]좌표 사이의 거리 구하기

9D4U 2024. 8. 26. 15:30
728x90
반응형


(참고 : Mysql 8.0 이상 버전 이상, mariadb에서도 사용가능)


ST_Distance_Sphere 함수를 사용하면
두 좌표의 거리(최단거리)를 계산할 수 있습니다.

 


○ ST_Distatnce_Sphere(g1 : geomerty, g2: geometry)



Point형은 geomerty형에 포함되므로,
g1과 g2에 Point형을 넣어서주면 됩니다.

 

 

 

 




테스트)

영등포역과 신길역 사이의 거리 구하기


영등포역(위도 : 37.515432857597176, 경도 : 126.90741709757052)
신길역(위도 :  37.51673842335889, 경도 : 126.91843287025256)

 

 

 

반응형

 

 


사용예시)

 

두 지점간의 거리 : 982m

결과값의 단위는 M(Meter)입니다. 



네이버, 카카오등의 포탈앱과의 비교해봅시다.  

 

 

 

○ 네이버맵에서 측정

 

두 지점간의 거리 : 925m

 

 

 

○ 카카오맵에서 측정

 


두 지점간의 거리 : 952m

 

○ 오차 범위가 크지 않지만,

   MySQL - ST_Distance_Sphere, 네이버맵, 카카오맵 각각 오차 존재.

 


○ 오차 발생하는 이유 :
측정 방식의 차이.
ST_Distance_Sphere는 GPS 좌표의 기본값은 WGS 84 기준 타원체를 사용.

 

 

 

 

 

2024.08.26 - [스마트웹앱콘텐츠전문가/직장] - [지리공간 데이터 분석] 벡터 데이터 유형 알아보기

 

[지리공간 데이터 분석] 벡터 데이터 유형 알아보기

해당 포스팅에서는 지리공간 데이터 분석의 기초가 되는벡터 데이터의 기하 유형에 대해 알아보겠습니다.     ○ 기하 유형 ( Geomerty Type) 종류  1. 점(point) : 공간 상 하나의 위치 좌표에 해

9d4u.tistory.com

 

728x90