ST_方位角 — 傳回兩點之間線段以北方為基準的方位角。
float ST_Azimuth(
geometry origin, geometry target)
;
float ST_Azimuth(
geography origin, geography target)
;
傳回從起始點到目標點的方位角(以弧度為單位),如果兩點重合則傳回 NULL。方位角是以正 Y 軸(幾何)或北子午線(地理)為基準的順時針正角度:北方 = 0;東北方 = π/4;東方 = π/2;東南方 = 3π/4;南方 = π;西南方 = 5π/4;西方 = 3π/2;西北方 = 7π/4。
對於 geography 類型,方位角解法稱為反向大地測量問題。
方位角是一個數學概念,定義為參考向量與點之間的角度,角度單位為弧度。以弧度表示的結果值可以使用 PostgreSQL 函數 degrees()
轉換為度。
方位角可以與 ST_Translate 結合使用,以沿垂直軸移動物件。請參閱 PostGIS wiki 中的 upgis_lineshift()
函數,了解其實現方式。
可用性:1.1.0
增強功能:2.0.0 引入了對 geography 的支援。
增強功能:2.2.0 使用 GeographicLib 執行球體上的測量,以提高準確性和穩健性。需要 PROJ >= 4.9.0 才能利用此新功能。
幾何方位角(以度為單位)
SELECT degrees(ST_Azimuth( ST_Point(25, 45), ST_Point(75, 100))) AS degA_B, degrees(ST_Azimuth( ST_Point(75, 100), ST_Point(25, 45) )) AS degB_A; dega_b | degb_a ------------------+------------------ 42.2736890060937 | 222.273689006094
![]() 藍色:起始點 Point(25,45);綠色:目標點 Point(75, 100);黃色:Y 軸或北方;紅色:方位角。
|
![]() 藍色:起始點 Point(75, 100);綠色:目標點 Point(25, 45);黃色:Y 軸或北方;紅色:方位角。
|