Anda ingin mengubah poligon Anda menjadi garis-garis, membuat garis-garis menjadi tepi cakupan sederhana, menyederhanakan tepi-tepi itu, kemudian membangunnya kembali menjadi poligon, dan akhirnya menggunakan point-in-poligon untuk bergabung kembali dengan atribut poligon lama dengan yang baru.
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));
Ada kesalahan di atas, tetapi konsep inti ada di sana. Anda dapat melakukan semuanya dalam satu permintaan jika mau.