名前

ST_PatchN — ジオメトリがPOLYHEDRALSURFACEかPOLYHEDRALSURFACEMの場合には、1はじまりでN番目のジオメトリ(フェイス)を返します。それ以外の場合には、NULLを返します。

概要

geometry ST_PatchN(geometry geomA, integer n);

説明

>ジオメトリがPOLYHEDRALSURFACEかPOLYHEDRALSURFACEMの場合には、1はじまりでN番目のジオメトリ(フェイス)を返します。それ以外の場合には、NULLを返します。多面体サーフェスを引数にとるST_GeometryNと同じ答えが返ります。ST_GeometryNの方が速いです。

[注記]

インデクスは1はじまりです。

[注記]

ひとつのジオメトリから全てのジオメトリを抽出したい場合は、ST_Dumpを使う方が効果的です。

初出: 2.0.0

このメソッドはSQL/MM仕様に準拠しています。 SQL-MM 3: ?

この関数は3次元に対応し、Z値を削除しません。

この関数は多面体サーフェスに対応しています。

-- 多面体サーフェスの2番目のサーフェスを抽出
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_AsEWKT, ST_GeomFromEWKT, ST_Dump, ST_GeometryN, ST_NumGeometries