Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


ST_3DLINEINTERPOLATEPOINT

📄字数 512
👁️阅读量 加载中...

功能描述

返回沿 3D 线的小数指示位置插值的点。

语法格式

sql
GEOMETRY ST_3DLINEINTERPOLATEPOINT(GEOMETRY a_linestring, DOUBLE a_fraction);

参数说明

  • a_linestring: 目标 LINESTRING 线串对象。
  • a_fraction:点的位置与线长度的比率,范围:[0,1]。
  • use_spheroid:距离测量是否使用椭球体,可选,默认:TRUE。
    • TRUE:使用椭球体。
    • FALSE:在球面上进行测量,计算更快。

函数返回类型

GEOMETRY/GEOGRAPHY 类型

使用说明

  1. ST_LineInterpolatePoint 计算 2D 中的点,然后对 Z 和 M 的值进行插值,而此函数计算 3D 中的点,然后对 M 值进行插值。
  2. 这个函数支持3D且不会降低z-index。

示例

沿 3D 线返回 20% 处的点:

sql
SQL> SELECT TO_CHAR(ST_AsText(
              ST_3DLineInterpolatePoint('LINESTRING(25 50 70, 100 125 90, 150 190 200)',
                  0.20)));

+----------------------------------------------------------------+
|                             EXPR1                              |
+----------------------------------------------------------------+
| POINT Z (59.06758929108215 84.06758929108214 79.0846904776219) |
+----------------------------------------------------------------+