名称

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

大纲

integer ST_NumGeometries(geometry geom);

描述

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

增强功能:引入了2.0.0 对多面体曲面、三角形和三角网的支持。

更改:2.0.0 在之前的版本中,如果几何图形不是collection/MULTI 类型,则会返回 NULL。 2.0.0 现在对于单个几何图形返回 1,例如 POLYGON、LINESTRING、POINT。

Changed: 3.6.0 TIN and PolyhedralSurface are treated as unitary geometries and return 1; use ST_NumPatches to count faces.

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

该函数支持 3d 并且不会丢失 z-index。

该函数支持多面体曲面。

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

示例

This example returns 1; prior versions would have returned NULL.

Code
SELECT ST_NumGeometries('LINESTRING(77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07)');
栅格输出
st_numgeometries
------------------
                1
(1 row)

A MultiPoint counts as one geometry within a GeometryCollection.

Code
SELECT ST_NumGeometries('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)))');
栅格输出
st_numgeometries
------------------
                3
(1 row)

相关信息

ST_GeometryN, ST_Multi