名称

ST_3DLineInterpolatePoint — 返回沿 3D 线在某个分数位置插值的点。

概要

geometry ST_3DLineInterpolatePoint(geometry a_linestring, float8 a_fraction);

描述

返回沿 3D 线在某个分数位置插值的点。第一个参数必须是 LINESTRING。第二个参数是介于 0 和 1 之间的浮点数,表示该点位置占线长度的比例。如果存在 M 值,则会进行插值。

[Note]

ST_LineInterpolatePoint 计算 2D 中的点,然后插值 Z 和 M 的值,而此函数计算 3D 中的点,并且仅插值 M 值。

可用性:3.0.0

此函数支持 3D,不会删除 z 索引。

示例

返回沿 3D 线 20% 位置的点

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

   st_asetext
----------------
 POINT Z (59.0675892910822 84.0675892910822 79.0846904776219)