(참고 : 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 기준 타원체를 사용.
MySQL에서 두 지점 간 거리 계산하는 방법: ST_DISTANCE_SPHERE 완전 정복
MySQL에서 두 지점 간의 거리 계산이 필요할 때 가장 간단하고 빠르게 사용할 수 있는 함수가 ST_DISTANCE_SPHERE입니다. 이 함수는 위도(latitude)와 경도(longitude) 좌표를 기반으로 지구를 구형(Sphere)으로
9d4u.tistory.com
[지리공간 데이터 분석] 벡터 데이터 유형 알아보기
해당 포스팅에서는 지리공간 데이터 분석의 기초가 되는벡터 데이터의 기하 유형에 대해 알아보겠습니다. ○ 기하 유형 ( Geomerty Type) 종류 1. 점(point) : 공간 상 하나의 위치 좌표에 해
9d4u.tistory.com
'스마트웹앱콘텐츠전문가 > 데이터베이스' 카테고리의 다른 글
information_schema를 활용한 PostgreSQL 데이터베이스 객체 관리 및 조회 (0) | 2025.03.12 |
---|---|
MariaDB에서 인덱스 삭제하는 방법과 성능 최적화 팁 (0) | 2025.03.11 |
테이블 안에서 원하는 데이터 복사 (0) | 2022.01.28 |
[PostgreSQL]GROUP BY JSON (0) | 2021.12.07 |
[PostgreSQL]있으면 UPDATE, 없으면 INSERT (0) | 2021.11.24 |