これらの関数は、GeometryCollection
値のプロパティーを返します。
特に指定がないかぎり、このセクションの関数はジオメトリ引数を次のように処理します:
引数が
NULL
の場合、またはジオメトリ引数が空のジオメトリの場合、戻り値はNULL
です。ジオメトリ引数が構文的に整形式のジオメトリでない場合は、
ER_GIS_INVALID_DATA
エラーが発生します。未定義の空間参照システム (SRS) でジオメトリ引数が構文的に整形式のジオメトリである場合、
ER_SRS_NOT_FOUND
エラーが発生します。それ以外の場合、戻り値は
NULL
以外です。
ジオメトリコレクションプロパティを取得するには、次の関数を使用できます:
-
ST_GeometryN(
gc
,N
)GeometryCollection
値gc
内のN
番目のジオメトリを返します。 ジオメトリの番号は 1 から始まります。ST_GeometryN()
は、このセクションの概要で説明されているように引数を処理します。mysql> SET @gc = 'GeometryCollection(Point(1 1),LineString(2 2, 3 3))'; mysql> SELECT ST_AsText(ST_GeometryN(ST_GeomFromText(@gc),1)); +-------------------------------------------------+ | ST_AsText(ST_GeometryN(ST_GeomFromText(@gc),1)) | +-------------------------------------------------+ | POINT(1 1) | +-------------------------------------------------+
-
ST_NumGeometries(
gc
)GeometryCollection
値gc
内のジオメトリの数を返します。ST_NumGeometries()
は、このセクションの概要で説明されているように引数を処理します。mysql> SET @gc = 'GeometryCollection(Point(1 1),LineString(2 2, 3 3))'; mysql> SELECT ST_NumGeometries(ST_GeomFromText(@gc)); +----------------------------------------+ | ST_NumGeometries(ST_GeomFromText(@gc)) | +----------------------------------------+ | 2 | +----------------------------------------+