ST_Azimuth — 返回两点之间直线的北向方位角。
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轴或北;红色:方位角。
|