ST_3DLineInterpolatePoint — 返回沿 3D 线的小数指示位置插值的点。
geometry ST_3DLineInterpolatePoint(
geometry a_linestring, float8 a_fraction)
;
返回沿 3D 线的小数指示位置插值的点。 第一个参数必须是 LINESTRING。 第二个参数是 0 到 1 之间的浮点数,表示点位置占线长度的一部分。 如果存在 M 值,则对其进行插值。
ST_LineInterpolatePoint 计算 2D 中的点,然后对 Z 和 M 的值进行插值,而此函数计算 3D 中的点,并且仅对 M 值进行插值。 |
可用性:3.0.0
该函数支持 3d 并且不会丢失 z-index。
沿 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)