- カテゴリ:
ST_AZIMUTH¶
2つのポイントを指定すると、2つのポイントによって形成される線分の方位角(ラジアン)を返します。
方位角は、北から線分までの角度です。角度は時計回りに正で、次のとおりです。
北を指す線分は0。
東を指す線分はπ/2。
南を指す線分はπ。
西を指す線分は3π/2。
2つのポイントが同じ場所である場合、関数は NULL を返します。
球形地球では、 こちら で説明する式を使用して方位角を決定します。
ご用心
楕円の地球モデルを使用するシステムは、 方位角 に対してより複雑なアルゴリズムを使用します。これにより、時として著しく異なる結果が得られます。
構文¶
ST_AZIMUTH( <geography_expression_1> , <geography_expression_2> )
引数¶
地理式1
ポイントである GEOGRAPHY オブジェクト。
地理式2
ポイントである GEOGRAPHY オブジェクト。
戻り値¶
ラジアン単位の方位角であるタイプ REAL の値を返します。
使用上の注意¶
1つまたは両方のの入力ポイントが NULL の場合は NULL を返します。
例¶
次の例では、南を指す線分を形成する2つの点の方位角をラジアンで返します。
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 | +---------------------------------+
次の例では、北東を指す線分を形成する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 | +---------------------------------+