名稱

CG_YMonotonePartition — 計算多邊形幾何的 y 單調分割

概要

geometry CG_YMonotonePartition(geometry geom);

描述

計算多邊形幾何的 y 單調分割。

[Note]

多邊形 P 的分割是一組多邊形,這些多邊形的內部互不相交,且這些多邊形的聯集等於原始多邊形 P 的內部。y 單調多邊形是一個多邊形,其頂點 v1,…,vn 可以分為兩個鏈 v1,…,vk 和 vk,…,vn,v1,使得任何水平線最多與每個鏈相交一次。此演算法不保證產生的多邊形數量相對於最佳數量有所限制。

可用性:3.5.0 - 需要 SFCGAL >= 1.5.0。

需要 SFCGAL >= 1.5.0

此方法需要 SFCGAL 後端。

範例

原始多邊形

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)))