CG_YMonotonePartition — Berechnet die y-monotone Partition der Polygongeometrie
geometry CG_YMonotonePartition(
geometry geom)
;
Berechnet die y-monotone Partition der Polygongeometrie.
Eine Partition eines Polygons P ist eine Menge von Polygonen, die so beschaffen ist, dass sich die Innenräume der Polygone nicht schneiden und die Vereinigung der Polygone gleich dem Innenraum des ursprünglichen Polygons P ist. Ein y-monotones Polygon ist ein Polygon, dessen Scheitelpunkte v1,...,vn in zwei Ketten v1,...,vk und vk,...,vn,v1 unterteilt werden können, so dass jede horizontale Linie eine der beiden Ketten höchstens einmal schneidet. Dieser Algorithmus garantiert keine Begrenzung der Anzahl der erzeugten Polygone in Bezug auf die optimale Anzahl. |
Verfügbarkeit: 3.5.0 - erfordert SFCGAL >= 1.5.0.
Erfordert SFCGAL >= 1.5.0
Diese Methode benötigt ein SFCGAL-Backend.
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)))