ST_GeometryN
ST_GeometryN は、次のように、入力ジオメトリの入力インデックスで指定されているジオメトリを返します。
入力がポイント、ラインストリング、またはポリゴンの場合、インデックスが 1 の場合はジオメトリがそのまま返され、インデックスが 1 以外の場合は null が返されます。
入力がマルチポイント、マルチラインストリング、マルチポリゴン、またはジオメトリコレクションの場合、ポイント、ラインストリング、ポリゴン、またはジオメトリコレクションは入力インデックスでの指定に従って返されます。
このインデックスは 1 から始まります。結果の空間参照系識別子 (SRID) は、入力ジオメトリのものと同じです。結果のジオメトリのディメンションは、入力ジオメトリのものと同じです。
構文
ST_GeometryN(geom, index)
引数
- geom
-
データ型
GEOMETRY
の値またはGEOMETRY
型と評価される式の値。 - index
-
1 から始まるインデックスの位置を表すデータ型
INTEGER
の値。
戻り型
GEOMETRY
geom または index が null の場合、null が返されます。
index が範囲外の場合、エラーが返されます。
例
次の SQL は、ジオメトリコレクションに含まれているジオメトリを返します。
WITH tmp1(idx) AS (SELECT 1 UNION SELECT 2), tmp2(g) AS (SELECT ST_GeomFromText('GEOMETRYCOLLECTION(POLYGON((0 0,10 0,0 10,0 0)),LINESTRING(20 10,20 0,10 0))')) SELECT idx, ST_AsEWKT(ST_GeometryN(g, idx)) FROM tmp1, tmp2 ORDER BY idx;
idx | st_asewkt
-----+------------------------------
1 | POLYGON((0 0,10 0,0 10,0 0))
2 | LINESTRING(20 10,20 0,10 0)