名前

ST_NumGeometries — ジオメトリがジオメトリコレクションまたはマルチ系の場合はジオメトリの数を、単一のジオメトリの場合は1を返し、それ以外の場合はNULLを返します。

概要

integer ST_NumGeometries(geometry geom);

説明

ジオメトリがジオメトリコレクションまたはマルチ系の場合は、ジオメトリの数を返し、単一のジオメトリの場合は1を返し、それ以外の場合はNULLを返します。

機能強化: 2.0.0で、多面体サーフェス、三角形、TINが導入されました。

変更: 2.0.0より前の版では、ジオメトリがコレクション/マルチ系でない場合にはNULLを返しました。2.0.0以上では、POLYGON, LINESTRING, POINTといった単一ジオメトリについては1を返します。

このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 9.1.4

この関数は3次元に対応しています。Zインデクスを削除しません。

この関数は多面体サーフェスに対応しています。

この関数は三角形と不規則三角網(TIN)に対応しています。

-- この例は、以前の版ではNULLを返しましたが、2.0.0では1を返します。
SELECT ST_NumGeometries(ST_GeomFromText('LINESTRING(77.29 29.07,77.42 29.26,77.27 29.31,77.29 29.07)'));
-- 結果
1

-- ジオメトリコレクションの例
-- コレクションのジオメトリがマルチの場合、1つとして変え添えられます。
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)))'));
-- 結果
3

追加情報

ST_GeometryN, ST_Multi