ST_NumGeometries — ジオメトリがジオメトリコレクションまたはマルチ系の場合はジオメトリの数を,それ以外の場合はNULLを返します.
integer ST_NumGeometries(
geometry a_multi_or_geomcollection)
;
ジオメトリの数を返します.ジオメトリがジオメトリコレクションまたはマルチ系の場合はジオメトリの数を,それ以外の場合はNULLを返します.
このメソッドはSQL/MM仕様の実装です. SQL-MM 3: 9.1.4
--Although ST_NumGeometries will return null when passed a single, you can wrap in ST_Multi to force 1 or more for all geoms SELECT ST_NumGeometries(ST_Multi(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