ST_GeometryN
ST_GeometryN 返回由输入几何体的输入索引指向的几何体,如下所示:
当输入是点、线串或多边形时,如果索引等于一 (1),则按原样返回几何体;如果索引不是一 (1),则返回 null。
如果输入是多点、多线串、多边形或几何体集合,则返回由输入索引指向的点、线串、多边形或几何体集合。
索引是从 1 开始的。结果的空间参考系统标识符 (SRID) 与输入几何体的相同。返回的几何体的维度与输入几何体的维度相同。
语法
ST_GeometryN(geom, index)
参数
- geom
-
一个
GEOMETRY
数据类型的值,或一个计算结果为GEOMETRY
类型的表达式。 - index
-
一个
INTEGER
数据类型的值,表示从 1 开始的索引的位置。
返回类型
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)