CG_OptimalConvexPartition — Calcul d'une partition convexe optimale de la géométrie du polygone
geometry CG_OptimalConvexPartition(geometry geom);
Calcul d'une partition convexe optimale de la géométrie du polygone.
|
|
|
Une partition d'un polygone P est un ensemble de polygones tels que les intérieurs des polygones ne se croisent pas et que l'union des polygones est égale à l'intérieur du polygone original P. CG_OptimalConvexPartition produit une partition optimale en termes de nombre de morceaux. |
Disponibilité : 3.5.0 - nécessite SFCGAL >= 1.5.0.
Nécessite SFCGAL >= 1.5.0
Cette méthode nécessite le backend SFCGAL.
The optimal convex partition uses the same polygon and produces the smallest documented piece count.
WITH data AS (
SELECT '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 AS input_polygon
)
SELECT input_polygon AS input_polygon,
CG_OptimalConvexPartition(input_polygon) AS partition
FROM data;
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)) | GEOMETRYCOLLECTION(POLYGON((156 150,83 181,89 131,148 120,156 150)), POLYGON((32 159,0 45,41 86,32 159)), POLYGON((45 1,177 2,67 24,45 1)), POLYGON((41 86,45 1,67 24,41 86)), POLYGON((107 61,32 159,41 86,67 24,109 31,107 61)), POLYGON((148 120,107 61,109 31,170 60,180 110,148 120)), POLYGON((156 150,148 120,180 110,156 150)))