ST_3DLineInterpolatePoint — Returns a point interpolated along a 3D line at a fractional location.
geometry ST_3DLineInterpolatePoint(geometry a_linestring, float8 a_fraction
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.
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.
This function supports 3d and will not drop the z-index.
Return point 20% along 3D line
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)