Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


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 类型

使用说明

  1. 返回从具有给定距离的起点计算并沿测地线方位角计算的点。这称为直接测地线问题。
  2. 两点使用从第一个点到第二个点的路径来隐式定义方位角,并像先前一样使用距离。
  3. 允许负距离和非标准化方位角。
  4. 允许几何参数和无方位角的两点格式。

示例

延伸点位于 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) |
+--------------------------------------------+