[1. 개요]
mysql 로 geometry 중, 특히 point 를 다룰 때, 가끔 두 점간의 거리가 필요할 때가 있다.
그러나, 기본 함수로 제공하지 않는 것으로 보임. (있나?, 버전에 따라서?)
함수로 작성해서 필요할 때 사용하기 위해 정리
[2. 코드]
POINT 를 입력으로 받아서 두 점간 거리를 meter 단위로 반환.
# input
# pt1, pt2 : POINT
# st_distance_sphere
BEGIN
RETURN 6371000 * 2 * ASIN(SQRT(
POWER(SIN((ST_Y(pt2) - ST_Y(pt1)) * pi()/180 / 2),
2) + COS(ST_Y(pt1) * pi()/180 ) * COS(ST_Y(pt2) *
pi()/180) * POWER(SIN((ST_X(pt2) - ST_X(pt1)) *
pi()/180 / 2), 2) ));
END
[3. ref]
'MySQL > geometry' 카테고리의 다른 글
mysql. st_bearing funtion (0) | 2024.03.26 |
---|---|
wgs84 좌표 관련 연산 (거리, bearing) (1) | 2024.03.26 |
[좀 부족한데] mysql 공간 쿼리 사용하기 (0) | 2024.02.19 |