在LineString上指定位置插入点对象,并返回该点。

语法

geometry  ST_LineInterpolatePoint(geometry  aLinestring , float8  aFraction);

参数

参数名称 描述
aLinestring 目标LineString对象。
aFraction 插入点位于该线段的百分比,是一个从0到1的浮点值。

描述

  • 该函数支持3D对象,并且不会删除Z坐标。
  • 该函数支持M坐标。

示例

  • SELECT ST_AsText(ST_LineInterpolatePoint(geom, 0.5)) FROM (SELECT 'LINESTRING(0 0,2 2)'::geometry as geom) As test;
     st_astext
    ------------
     POINT(1 1)
    (1 row)
                        
  • 获取线上距离某个Geometry对象最近的点:
    SELECT ST_AsText(ST_LineInterpolatePoint(geom, ST_LineLocatePoint(geom, 'POINT(1 1)'::geometry))) FROM (SELECT 'LINESTRING(0 0,0 2)'::geometry As geom) As test;
     st_astext
    ------------
     POINT(0 1)
    (1 row)