Name

ST_3DLineInterpolatePoint — Returns a point interpolated along a 3D line at a fractional location.

Synopsis

geometry ST_3DLineInterpolatePoint(geometry a_linestring, float8 a_fraction);

Description

Returns a point interpolated along a 3D line at a fractional location. First argument must be a LINESTRING. Second argument is a float between 0 and 1 representing the point location as a fraction of line length. The M value is interpolated if present.

[Note]

ST_LineInterpolatePoint computes points in 2D and then interpolates the values for Z and M, while this function computes points in 3D and only interpolates the M value.

Availability: 3.0.0

This function supports 3d and will not drop the z-index.

Examples

Return point 20% along 3D line

SELECT ST_AsText(ST_3DLineInterpolatePoint(
    'LINESTRING(25 50 70, 100 125 90, 150 190 200)',
    0.20));
POINT Z (59.06758929108215 84.06758929108216 79.0846904776219)