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; 西=3π/2; 西北 = 7π/4。
对于地理类型,方位角解决方案被称为反解大地测量问题。
方位角是一个数学概念,定义为参考矢量与点之间的角度,角度单位为弧度。 可以使用 PostgreSQL 函数 Degrees()
将结果值(以弧度表示)转换为度数。
方位角可与 ST_Translate结合使用,以沿其垂直轴移动对象。 有关此功能的实现,请参阅 PostGIS wiki 中的 upgis_lineshift()
函数。
可用性:1.1.0
增强:2.0.0 引入了对地理的支持。
增强: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
|
|