Name

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

Synopsis

geometry CG_GreeneApproxConvexPartition(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バックエンドが必要です。

グリーン近似凸分割 (CG_YMonotonePartition, CG_ApproxConvexPartition, CG_OptimalConvexPartitionと同じ例です)

SELECT ST_AsText(CG_GreeneApproxConvexPartition('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((32 159,0 45,41 86,32 159)),POLYGON((45 1,177 2,67 24,45 1)),POLYGON((67 24,109 31,170 60,107 61,67 24)),POLYGON((41 86,45 1,67 24,41 86)),POLYGON((107 61,32 159,41 86,67 24,107 61)),POLYGON((148 120,107 61,170 60,148 120)),POLYGON((148 120,170 60,180 110,156 150,148 120)),POLYGON((156 150,83 181,89 131,148 120,156 150)))