名称

ST_PatchN — 返回多面体表面的第 N 个几何(面)。

语法

geometry ST_PatchN(geometry geomA, integer n);

描述

如果几何是多面体表面或多面体表面 M,则返回基于 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 索引。

此函数支持多面体表面。

示例

--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))

另请参见

ST_AsEWKTST_GeomFromEWKTST_DumpST_GeometryNST_NumGeometries