Name

CG_ApproxConvexPartition — ポリゴンジオメトリの近似凸分割を計算します

Synopsis

geometry CG_ApproxConvexPartition(geometry geom);

説明

ポリゴンジオメトリの近似凸分割を計算します (三角形分割を使います)。

[Note]

ポリゴンPの分割は、内部同士がインタセクトせず、結合すると元のポリゴンPの内部と同じになるようなポリゴンの集合です。CG_ApproxConvexPartition関数とCG_GreeneApproxConvexPartition関数は、概ね最適な凸分割を生成します。両方の関数は、最初にポリゴンをより単純なポリゴンに分解したうえで凸分解を行います。CG_ApproxConvexPartitionは三角形を使い、CG_GreeneApproxConvexPartitionは単調分割を使います。両方の関数は、凸分割の要素数について最適数の4倍を超えないことを保証しますが、実行時の複雑さが異なります。三角形ベースの近似アルゴリズムでは、しばしば、凸要素が少なくなりますが、常にそうなるとは限りません。

Availability: 3.5.0 - SFCGAL >= 1.5.0が必要です。

SFCGAL >= 1.5.0 が必要

このメソッドにはSFCGALバックエンドが必要です。

SELECT ST_AsText(CG_ApproxConvexPartition('POLYGON((156 150,83 181,89 131,148 120,107 61,32 159,0 45,41 86,45 1,177 2,67 24,109 31,170 60,180 110,156 150))'::geometry));

GEOMETRYCOLLECTION(POLYGON((156 150,83 181,89 131,148 120,156 150)),POLYGON((32 159,0 45,41 86,32 159)),POLYGON((107 61,32 159,41 86,107 61)),POLYGON((45 1,177 2,67 24,45 1)),POLYGON((41 86,45 1,67 24,41 86)),POLYGON((107 61,41 86,67 24,109 31,107 61)),POLYGON((148 120,107 61,109 31,170 60,148 120)),POLYGON((156 150,148 120,170 60,180 110,156 150)))