Name

ST_Azimuth — 返回两点之间直线的北向方位角。

Synopsis

float ST_Azimuth(geometry origin, geometry target);

float ST_Azimuth(geography origin, geography target);

描述

返回目标点相对于原点的方位角(以弧度表示),如果两点重合,则返回NULL。方位角是从正Y轴(几何图形)或北子午线(地理位置)参考的正顺时针角度:北向=0;东北= π /4;东部= π /2;东南=3 π /4;南方= π ;西南5 π /4;West=3 π /2;西北=7 π /4.

对于地理类型,方位角解称为 测地线反问题

方位角是一个数学概念,定义为参考矢量和点之间的角度,角度单位为弧度。可以使用PostgreSQL函数将以弧度为单位的结果值转换为度 degrees()

方位角可以与 ST_Translate 沿垂直轴移动对象。请参阅 upgis_lineshift() 中的函数 PostGIS维基 来实现这一点。

可用性:1.1.0

增强:引入了对地理位置的2.0.0支持。

增强:2.2.0使用Gegraph Lib对椭球体进行测量,以提高精度和稳健性。需要项目 > =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

蓝色:原点(25,45);绿色:目标点(75,100);黄色:Y轴或北;红色:方位角。

蓝色:原点(75,100);绿色:目标点(25,45);黄色:Y轴或北;红色:方位角。

另请参阅

ST_Angle, ST_Point, ST_Translate, ST_Project, PostgreSQL Math Functions