Tôi đã sử dụng ST_DUMP để chuyển đổi bảng các hình đa giác trong PostgreSQL thành một bảng mới với các hình đa giác và các cột dữ liệu khác.
CREATE TABLE poly AS --poly will be the new polygon table
WITH dump AS (
SELECT id, test, --columns from your multipolygon table
(ST_DUMP(geometry)).geom AS geometry
FROM multi --the name of your multipolygon table
)
SELECT id, test,
geometry::geometry(Polygon,4326) --type cast using SRID from multipolygon
FROM dump;
Cập nhật: Tôi nghĩ rằng điều này có thể được thực hiện dễ dàng hơn nhiều với truy vấn này.
CREATE TABLE polygon_table AS
SELECT id, example_column, (ST_DUMP(geom)).geom::geometry(Polygon,4326) AS geom FROM multipolygon_table