Name

CG_YMonotonePartition — Berechnet die y-monotone Partition der Polygongeometrie

Synopsis

geometry CG_YMonotonePartition(geometry geom);

Beschreibung

Berechnet die y-monotone Partition der Polygongeometrie.

[Note]

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.

Beispiele

Ursprüngliche Polygone

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