Poligonlarınızı çizgilere dönüştürmek, bu çizgileri basit kapsama kenarları haline getirmek, bu kenarları basitleştirmek, ardından tekrar çokgenlere yeniden oluşturmak ve son olarak eski poligonların özelliklerini yeniden birleştirmek için çokgenli nokta kullanın. Yeni olanlar.
CREATE TABLE rings AS SELECT (ST_DumpRings(polys)).geom AS rings FROM polytable;
CREATE TABLE simplerings AS SELECT ST_Union(rings) AS simplerings FROM rings;
CREATE TABLE newpolycollection AS SELECT ST_Polygonize(ST_Simplify(simplerings, 10.0)) AS geom FROM simplerings;
CREATE TABLE newpolysnoattributes AS SELECT (ST_Dump(geom)).geom FROM newpolycollection;
CREATE TABLE newpolytable AS SELECT new.geom, old.attr FROM newpolysnoattributes new, polytable old WHERE ST_Contains(new.geom, ST_PointOnSurface(old.polys));
Yukarıdakilerde hatalar var, ancak ana kavram orada. İsterseniz hepsini tek bir sorguda yapabilirsiniz.