[1. 개요]
mysql 로 geometry 중, 특히 point 를 다룰 때 두 점의 bearing 을 구해야 할 때가 있음.
=> 두 bearing 을 이용해서 회전 각도 구할 때도,
[2. 코드]
# input
# pt1, pt2 : POINT
# pt1 -> pt2 의 bearing 을 반환.
# st_bearing
BEGIN
SET @lon2 = ST_X(pt2);
SET @lon1 = ST_X(pt1);
SET @lat2 = ST_Y(pt2);
SET @lat1 = ST_Y(pt1);
RETURN (360.0 +
DEGREES(ATAN2(
SIN(RADIANS(@lon2-@lon1))*COS(RADIANS(@lat2)),
COS(RADIANS(@lat1))*SIN(RADIANS(@lat2))-SIN(RADIANS(@lat1))*COS(RADIANS(@lat2))*
COS(RADIANS(@lon2-@lon1))
))
) % 360.0;
END
[. 참조]
'MySQL > geometry' 카테고리의 다른 글
mysql. haversine_distnace function (0) | 2024.03.26 |
---|---|
wgs84 좌표 관련 연산 (거리, bearing) (1) | 2024.03.26 |
[좀 부족한데] mysql 공간 쿼리 사용하기 (0) | 2024.02.19 |