Name

CG_YMonotonePartition — 计算多边形几何的 y 单调分割

Synopsis

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