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 索引。
返回沿 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)