名称

ST_NumGeometries — 返回几何集合中元素的数量。

概要

integer ST_NumGeometries(geometry geom);

描述

返回几何集合(GEOMETRYCOLLECTION 或 MULTI*)中元素的数量。对于非空的原子几何体,返回 1。对于空的几何体,返回 0。

增强:2.0.0 引入了对多面体表面、三角形和 TIN 的支持。

已更改:2.0.0 在以前的版本中,如果几何体不是集合/MULTI 类型,则会返回 NULL。2.0.0+ 现在对于单个几何体(例如 POLYGON、LINESTRING、POINT)返回 1。

此方法实现了 SQL/MM 规范。SQL-MM 3:9.1.4

此函数支持 3D,并且不会删除 z 索引。

此函数支持多面体表面。

此函数支持三角形和不规则三角网格表面 (TIN)。

示例

--Prior versions would have returned NULL for this -- in 2.0.0 this returns 1
SELECT ST_NumGeometries(ST_GeomFromText('LINESTRING(77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07)'));
--result
1

--Geometry Collection Example - multis count as one geom in a collection
SELECT ST_NumGeometries(ST_GeomFromEWKT('GEOMETRYCOLLECTION(MULTIPOINT((-2 3),(-2 2)),
LINESTRING(5 5 ,10 10),
POLYGON((-7 4.2,-7.1 5,-7.1 4.3,-7 4.2)))'));
--result
3

另请参阅

ST_GeometryN, ST_Multi