CG_YMonotonePartition — 計算多邊形幾何的 y 單調分割
geometry CG_YMonotonePartition(
geometry geom)
;
計算多邊形幾何的 y 單調分割。
![]() |
|
多邊形 P 的分割是一組多邊形,這些多邊形的內部互不相交,且這些多邊形的聯集等於原始多邊形 P 的內部。y 單調多邊形是一個多邊形,其頂點 v1,…,vn 可以分為兩個鏈 v1,…,vk 和 vk,…,vn,v1,使得任何水平線最多與每個鏈相交一次。此演算法不保證產生的多邊形數量相對於最佳數量有所限制。 |
可用性:3.5.0 - 需要 SFCGAL >= 1.5.0。
需要 SFCGAL >= 1.5.0
此方法需要 SFCGAL 後端。
![]() 原始多邊形 |
![]() Y 單調分割(與 CG_ApproxConvexPartition、CG_GreeneApproxConvexPartition 和 CG_OptimalConvexPartition 相同的範例) |
SELECT ST_AsText(CG_YMonotonePartition('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((107 61,32 159,41 86,45 1,177 2,67 24,109 31,170 60,107 61)),POLYGON((156 150,83 181,89 131,148 120,107 61,170 60,180 110,156 150)))