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