Name

ST_PatchN — 返回多边形曲面(PolyhedralSurface)的第 N 个几何体(面)。

Synopsis

geometry ST_PatchN(geometry geomA, integer n);

描述

如果几何体是 POLYHEDRALSURFACE 或 POLYHEDRALSURFACEM,则返回从 1 开始的第 N 个几何体(面)。否则,返回 NULL。这将返回与多面体曲面的 ST_GeometryN 相同的答案。 使用 ST_GeometryN 速度更快。

[Note]

索引从1开始。

[Note]

如果要提取几何图形的所有元素,ST_Dump 效率更高。

可用性: 2.0.0

该方法实现了SQL/MM规范。 SQL-MM ISO/IEC 13249-3: 8.5

该函数支持 3d 并且不会丢失 z-index。

该函数支持多面体曲面。

示例

--Extract the 2nd face of the polyhedral surface
SELECT ST_AsEWKT(ST_PatchN(geom, 2)) As geomewkt
FROM (
VALUES (ST_GeomFromEWKT('POLYHEDRALSURFACE( ((0 0 0, 0 0 1, 0 1 1, 0 1 0, 0 0 0)),
        ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)),
        ((1 1 0, 1 1 1, 1 0 1, 1 0 0, 1 1 0)),
        ((0 1 0, 0 1 1, 1 1 1, 1 1 0, 0 1 0)), ((0 0 1, 1 0 1, 1 1 1, 0 1 1, 0 0 1)) )')) ) As foo(geom);

              geomewkt
---+-----------------------------------------
 POLYGON((0 0 0,0 1 0,1 1 0,1 0 0,0 0 0))