名称

ST_Project — 返回一个从起始点通过距离和方位角(方位角)投影的点。

语法

geometry ST_Project(geometry g1, float distance, float azimuth);

geometry ST_Project(geometry g1, geometry g2, float distance);

geography ST_Project(geography g1, float distance, float azimuth);

geography ST_Project(geography g1, geography g2, float distance);

描述

返回一个点,该点通过大地测量线从一个点投影,并使用给定的距离和方位角(方位角)。这称为直接大地测量线问题。

两点版本使用从第一点到第二点的路径来隐式定义方位角,并像以前一样使用距离。

距离以米为单位。支持负值。

方位角(也称为航向或方位角)以弧度为单位。它从真北顺时针测量。

  • 北为方位角零(0 度)

  • 东为方位角 π/2(90 度)

  • 南为方位角 π(180 度)

  • 西为方位角 3π/2(270 度)

支持负方位角值和大于 2π(360 度)的值。

可用性:2.0.0

增强:2.4.0 允许负距离和非归一化方位角。

增强:3.4.0 允许几何参数和省略方位角的两点形式。

示例:在 100,000 米处和方位角 45 度的投影点

SELECT ST_AsText(ST_Project('POINT(0 0)'::geography, 100000, radians(45.0)));
--------------------------------------------
 POINT(0.635231029125537 0.639472334729198)

另请参见

ST_AzimuthST_DistancePostgreSQL 函数 radians()