pointA から pointB までの線の北を基準とした方位角をラジアン単位で返します。
構文
float ST_Azimuth(geometry pointA, geometry pointB);
float ST_Azimuth(geography pointA, geography pointB);パラメータ
| パラメータ | 説明 |
|---|---|
pointA | 開始点です。 |
pointB | 終了点です。 |
説明
方位角は、北 (geometry の場合は正のY軸、geography の場合は北子午線) から時計回りに増加するラジアン単位で測定されます。ラジアンを度に変換するには、PostgreSQL の degrees() 関数で結果をラップします。
| 方向 | ラジアン |
|---|---|
| 北 | 0 |
| 東 | π/2 |
| 南 | π |
| 西 | 3π/2 |
pointA と pointB が一致する場合、この関数は NULL を返します。
例
2点間の方位角の計算
次の例では、POINT(0 0) から POINT(0 -1) までの方位角を計算し、結果を度に変換します。
SELECT degrees(ST_Azimuth('POINT(0 0)'::geometry, 'POINT(0 -1)'::geometry));出力:
degrees
---------
180
(1 row)