ST_Boundary

计算指定 GEOMETRY 对象的边界。对象边界是指定义对象限制的点集。

对于线串,边界是起点和终点。对于多边形,边界是在同一点开始和结束的线串。

行为类型

不可变

语法

ST_Boundary( g )

参数

g
需要计算边界的空间对象,类型为 GEOMETRY

返回

GEOMETRY

支持的数据类型

数据类型
GEOMETRY
Point
Multipoint
Linestring
Multilinestring
Polygon
Multipolygon
GeometryCollection

示例

以下示例显示了 ST_Boundary 的用法。

返回表示边界的线串:

=> SELECT ST_AsText(ST_Boundary(ST_GeomFromText('POLYGON((-1 -1,2 2,
   0 1,-1 -1))')));
 ST_AsText
--------------
LINESTRING(-1 -1, 2 2, 0 1, -1 -1)
(1 row)

返回包含两个多边形边界的线串集合:

=> SELECT ST_AsText(ST_Boundary(ST_GeomFromText('POLYGON((2 2,5 5,8 2,2 2),
   (4 3,5 4,6 3,4 3))')));
                            ST_AsText
------------------------------------------------------------------
 MULTILINESTRING ((2 2, 5 5, 8 2, 2 2), (4 3, 5 4, 6 3, 4 3))
(1 row)

线串的边界是其起点和终点:

=> SELECT ST_AsText(ST_Boundary(ST_GeomFromText(
   'LINESTRING(1 1,2 2,3 3,4 4)')));
       ST_AsText
-----------------------
 MULTIPOINT (1 1, 4 4)
(1 row)

封闭的线串没有边界,因为它没有起点和终点:

=> SELECT ST_AsText(ST_Boundary(ST_GeomFromText(
   'LINESTRING(1 1,2 2,3 3,4 4,1 1)')));
    ST_AsText
------------------
 MULTIPOINT EMPTY
(1 row)