카테고리:

지리 공간 함수

ST_AZIMUTH

Given two Points that are GEOGRAPHY objects, returns the azimuth (in radians) of the line segment formed by the two points.

방위각은 북쪽에서 직선 세그먼트까지의 각도입니다. 각도는 시계 방향으로 양수이며 다음과 같습니다.

  • 북쪽을 가리키는 직선 세그먼트의 경우 0입니다.

  • 동쪽을 가리키는 직선 세그먼트의 경우 π/2입니다.

  • 남쪽을 가리키는 직선 세그먼트의 경우 π입니다.

  • 서쪽을 가리키는 직선 세그먼트의 경우 3π/2입니다.

두 Point가 같은 위치에 있으면 함수는 NULL을 반환합니다.

구형 지구에서, 여기에 설명된 공식 은 방위각을 결정하는 데 사용됩니다.

조심

타원형 지구 모델을 사용하는 시스템은 방위각에 대해 더 복잡한 알고리즘 을 사용하며, 이는 때때로 상당히 다른 결과를 산출합니다.

구문

ST_AZIMUTH( <geography_expression_1> , <geography_expression_2> )

인자

geography_expression_1

Point인 GEOGRAPHY 오브젝트입니다.

geography_expression_2

Point인 GEOGRAPHY 오브젝트입니다.

반환

라디안 단위의 방위각인 REAL 형식 값을 반환합니다.

사용법 노트

  • 입력 지점 중 하나 또는 둘 모두가 NULL인 경우, NULL을 반환합니다.

다음 예는 남쪽을 가리키는 직선 세그먼트를 형성하는 두 지점의 방위각을 라디안으로 반환합니다.

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 |
+---------------------------------+

다음 예는 북동쪽을 가리키는 직선 세그먼트를 형성하는 두 지점의 방위각을 도 단위로 반환합니다.

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 |
+---------------------------------+
맨 위로 이동