从一个(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)