返回给定Geometry里面的第N个对象。
语法
geometry ST_GeometryN(geometry geomA , integer n);
参数
参数名称 | 描述 |
---|---|
geomA | 目标Geometry对象。 |
n | 对象索引。 |
描述
- 计数索引从1开始。
- 支持GeometryCollection、(Multi)Point,(Multi)LineString,MultiCurve、(Multi)Polygon和PolyhedralSurface。其他则返回NULL。
- 如果要提取Geometry对象的所有子图形,则ST_Dump效率更高,并且也适用于各种几何图形。
- 该函数支持Circular Strings、Curves、Polyhedral surfaces、Triangles、Triangulated Irregular Network Surfaces(TIN)和3D对象。
示例
- 提取Multi对象:
SELECT ST_AsText(ST_GeometryN('MULTIPOLYGON(((1 0,3 0,0 3,1 0)),((1 0,2 0, 0 2,1 0)))'::geometry,2)); st_astext ---------------------------- POLYGON((1 0,2 0,0 2,1 0)) (1 row)
- 提取GeometryCollection对象:
SELECT ST_AsText(ST_GeometryN('GeometryCollection(POINT(1 0),POLYGON((1 0,2 0, 0 2,1 0)))'::geometry,1)); st_astext ------------ POINT(1 0) (1 row)