CG_YMonotonePartition — Beräknar y-monoton partition av polygongeometrin
geometry CG_YMonotonePartition(
geometry geom)
;
Beräknar y-monoton partition av polygongeometrin.
![]() |
|
En partition av en polygon P är en uppsättning polygoner som är sådana att polygonernas inre delar inte skär varandra och att polygonernas förening är lika med den ursprungliga polygonen P:s inre del. En y-monoton polygon är en polygon vars hörn v1,...,vn kan delas upp i två kedjor v1,...,vk och vk,...,vn,v1, så att varje horisontell linje skär endera kedjan högst en gång. Denna algoritm garanterar inte en gräns för antalet polygoner som produceras i förhållande till det optimala antalet. |
Tillgänglighet: 3.5.0 - kräver SFCGAL >= 1.5.0.
Kräver SFCGAL >= 1.5.0
Denna metod behöver SFCGAL-backend.
![]() Ursprunglig polygon |
![]() Y-Monotone Partition (samma exempel som CG_ApproxConvexPartition, CG_GreeneApproxConvexPartition och 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)))