ST_PROJECT
📄字数 655
👁️阅读量 加载中...
功能描述
返回从起点按距离和方向角(方位角)投影的点。
语法格式
sql
GEOMETRY ST_PROJECT(GEOMETRY g1, DOUBLE distance, DOUBLE azimuth);
GEOMETRY ST_PROJECT(GEOMETRY g1, GEOMETRY g2, DOUBLE distance);
GEOGRAPHY ST_PROJECT(GEOGRAPHY g1, DOUBLE distance, DOUBLE azimuth);
GEOGRAPHY ST_PROJECT(GEOGRAPHY g1, GEOGRAPHY g2, DOUBLE distance);参数说明
- g1:目标 GEOMETRY/GEOGRAPHY 对象。
- distance:距离,单位:米。支持负值。
- azimuth: 方向角(也称为航向或方位角),单位:弧度。它是从正北方向顺时针测量的。支持负方位角值和大于2π(360 度)的值。
- 正北:0度
- 正东:90度
- 正南:180度
- 正西:270度
函数返回类型
GEOMETRY/GEOGRAPHY 类型
使用说明
- 返回从具有给定距离的起点计算并沿测地线方位角计算的点。这称为直接测地线问题。
- 两点使用从第一个点到第二个点的路径来隐式定义方位角,并像先前一样使用距离。
- 允许负距离和非标准化方位角。
- 允许几何参数和无方位角的两点格式。
示例
延伸点位于 100,000 米、方位角 45 度:
sql
SQL> SELECT TO_CHAR(ST_ASTEXT(ST_PROJECT('POINT(0 0)'::GEOGRAPHY, 100000, radians(45.0))));
+--------------------------------------------+
| EXPR1 |
+--------------------------------------------+
| POINT(0.635231029125537 0.639472334729198) |
+--------------------------------------------+