ST_AZIMUTH
원점(관찰자의 위치)을 나타내는 점과 지정된 점이 주어지면 방위각이 라디안으로 반환됩니다. 두 점 모두 GEOGRAPHY 또는 GEOMETRY 오브젝트여야 합니다.
방위각 은 원점의 관찰자가 북쪽(GEOGRAPHY 오브젝트의 경우) 또는 Y축(GEOMETRY 오브젝트의 경우)을 향할 때 두 점 사이의 각도입니다. 각도는 시계 방향으로 양수이며 다음과 같습니다.
북쪽을 가리키는 직선 세그먼트의 경우 0입니다.
동쪽을 가리키는 직선 세그먼트의 경우 π/2입니다.
남쪽을 가리키는 직선 세그먼트의 경우 π입니다.
서쪽을 가리키는 직선 세그먼트의 경우 3π/2입니다.
두 Point가 같은 위치에 있으면 함수는 NULL을 반환합니다.
GEOGRAPHY 오브젝트의 경우 구형 지구에서 여기에 설명된 수식 을 사용하여 방위각을 결정합니다.
구문
ST_AZIMUTH( <geography_expression_for_origin> , <geography_expression_for_target> )
ST_AZIMUTH( <geometry_expression_for_origin> , <geometry_expression_for_target> )
인자
geography_expression_for_origin원점(관찰자가 있는 곳)을 나타내는 점인 GEOGRAPHY 오브젝트입니다.
geography_expression_for_target방위각을 계산하려는 점인 GEOGRAPHY 오브젝트입니다.
geometry_expression_for_origin원점(관찰자가 있는 곳)을 나타내는 점인 GEOMETRY 오브젝트입니다.
geometry_expression_for_target방위각을 계산하려는 점인 GEOMETRY 오브젝트입니다.
반환
라디안 단위의 방위각인 REAL 형식 값을 반환합니다.
예
GEOGRAPHY 예
다음 예에서는 원래 점 (0, 1)과 대상 점 (0, 0)의 방위각을 라디안 단위로 반환합니다.
SELECT ST_AZIMUTH(
TO_GEOGRAPHY('POINT(0 1)'),
TO_GEOGRAPHY('POINT(0 0)')
);
+---------------------------------+
| ST_AZIMUTH( |
| TO_GEOGRAPHY('POINT(0 1)'), |
| TO_GEOGRAPHY('POINT(0 0)') |
| ) |
|---------------------------------|
| 3.141592654 |
+---------------------------------+
다음 예에서는 원래 점 (0, 1)과 대상 점 (1, 2)의 방위각을 도 단위로 반환합니다.
SELECT DEGREES(ST_AZIMUTH(
TO_GEOGRAPHY('POINT(0 1)'),
TO_GEOGRAPHY('POINT(1 2)')
));
+---------------------------------+
| DEGREES(ST_AZIMUTH( |
| TO_GEOGRAPHY('POINT(0 1)'), |
| TO_GEOGRAPHY('POINT(1 2)') |
| )) |
|---------------------------------|
| 44.978182941 |
+---------------------------------+
GEOMETRY 예
다음 예에서는 원래 점 (0, 1)과 대상 점 (0, 0)의 방위각을 라디안 단위로 반환합니다.
SELECT ST_AZIMUTH(
TO_GEOMETRY('POINT(0 1)', TO_GEOMETRY('POINT(0 0)')
);
+------------------------------------------------------------------+
| ST_AZIMUTH(TO_GEOMETRY('POINT(0 1)'), TO_GEOMETRY('POINT(0 0)')) |
|------------------------------------------------------------------|
| 3.141592654 |
+------------------------------------------------------------------+
다음 예에서는 원래 점 (0, 1)과 대상 점 (0.707, 0.707)의 방위각을 도 단위로 반환합니다.
SELECT ST_AZIMUTH(
TO_GEOMETRY('POINT(0 0)', TO_GEOMETRY(0.707 0.707')
);
+-------------------------------------------------------------------------+
| ST_AZIMUTH(TO_GEOMETRY('POINT(0 0)'), TO_GEOMETRY('POINT(0.707 0.707')) |
|-------------------------------------------------------------------------|
| 0.7853981634 |
+-------------------------------------------------------------------------+