名称

ST_3DLineInterpolatePoint — 返回沿 3D 线性插值位置的点。

语法

geometry ST_3DLineInterpolatePoint(geometry a_linestring, float8 a_fraction);

说明

返回沿 3D 线性插值位置的点。第一个参数必须是线串。第二个参数是在 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)

另请参阅

ST_LineInterpolatePointST_LineInterpolatePointsST_LineLocatePoint