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