返回給定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)