从Point、MultiPoint或者Line等Geometry对象,构造一个LineString对象。

语法

geometry  ST_MakeLine(geometry  set geoms);
geometry  ST_MakeLine(geometry  geom1 , geometry  geom2);
geometry  ST_MakeLine(geometry[]  geomsArray);

参数

参数名称 描述
geoms Geometry对象集合。
geom1 第一个Geometry对象。
geom2 第二个Geometry对象。
geomsArray Geometry对象数组。

描述

  • Point、MultiPoint或Line以外的输入类型将被忽略。
  • 当添加Line组件时,将删除公共的节点。Point和MultiPoint则不会删除公共节点。
  • 该函数支持3D对象,并且不会丢弃Geometry对象的z-index。

示例

  • 默认调用:
    SELECT ST_AsText(ST_MakeLine(ST_MakePoint(1,2), ST_MakePoint(3,4)));
          st_astext
    ---------------------
     LINESTRING(1 2,3 4)
    (1 row)
                        
  • 构建3D对象:
    SELECT ST_AsText(ST_MakeLine(ST_MakePoint(1,2,3), ST_MakePoint(4,5,6)));
             st_astext
    ----------------------------
     LINESTRING Z (1 2 3,4 5 6)
    (1 row)
                        
  • 通过数组构建:
    SELECT ST_AsText(ST_MakeLine(ARRAY[ST_MakePoint(1,2),ST_MakePoint(3,4), ST_MakePoint(5,6)]));
            st_astext
    -------------------------
     LINESTRING(1 2,3 4,5 6)
    (1 row)