ST_CollectionExtract

从一个(Multi)Geometry对象中,找出并返回指定类型的Geometry对象。

语法

geometry  ST_CollectionExtract(geometry  collection , integer  type);

参数

参数名称

描述

collection

目标Geometry对象。

type

对象类型如下:

  • Point

  • LineString

  • Polygon

描述

  • 仅支持Point、LineString和Polygon对象。

  • 如果找不到指定类型的Geometry对象,将返回EmptyGeometry对象。

  • 当指定类型为Polygon时,即使共享边,也会返回MultiPolygon。

说明

在许多情况下(例如在ST_Split结果上应用此功能),将导致无效的多边形。

示例

SELECT ST_AsText(ST_CollectionExtract(ST_GeomFromText('GEOMETRYCOLLECTION(LINESTRING(1 1,2 1),LINESTRING(2 1,2 2))'),2));
              st_astext
--------------------------------------
 MULTILINESTRING((1 1,2 1),(2 1,2 2))
(1 row)