名稱

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)