스마트웹앱콘텐츠전문가/데이터베이스
[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 - [스마트웹앱콘텐츠전문가/직장] - [지리공간 데이터 분석] 벡터 데이터 유형 알아보기
728x90