从给定的边界构造一个Polygon对象。

语法

geometry  ST_MakePolygon(geometry  linestring);
geometry  ST_MakePolygon(geometry  outerlinestring , geometry[]  interiorlinestrings);

参数

参数名称 描述
linestring 作为边界的LineString对象。
outerlinestring 作为外边界的LineString对象。
interiorlinestrings 作为内部环的LineString对象。

描述

输入值必须是一个封闭的LineString。

示例

  • 默认调用:
    SELECT ST_AsText(ST_MakePolygon(ST_GeomFromText('LINESTRING(1 2,3 4,5 6,1 2)')));
             st_astext
    ----------------------------
     POLYGON((1 2,3 4,5 6,1 2))
    (1 row)
    
  • 带有内部环的对象:
    SELECT ST_AsText(ST_MakePolygon(ST_GeomFromText('LINESTRING(0 0,0 1,1 1,0 0)'),ARRAY[ST_GeomFromText('LINESTRING(-1 -1,-1 2,2 2,-1 -1)')]));
                         st_astext
    ---------------------------------------------------
     POLYGON((0 0,0 1,1 1,0 0),(-1 -1,-1 2,2 2,-1 -1))
    (1 row)