ST_PatchN — 返回 PolyhedralSurface 的第 N 个几何体(面)。
geometry ST_PatchN(
geometry geomA, integer n)
;
如果几何体是 POLYHEDRALSURFACE 或 POLYHEDRALSURFACEM,则返回从 1 开始的第 N 个几何体(面),否则返回 NULL。对于 PolyhedralSurface,此函数返回的结果与 ST_GeometryN 相同。使用 ST_GeometryN 更快。
索引从 1 开始。 |
如果要提取几何体的所有元素,使用 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))