- 카테고리:
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 형식 값을 반환합니다.
사용법 노트¶
입력 지리 공간 오브젝트 중 하나가 점이 아닌 경우 이 함수는 오류를 보고합니다.
입력 지점 중 하나 또는 둘 모두가 NULL인 경우, NULL을 반환합니다.
예¶
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 |
+-------------------------------------------------------------------------+