sql >> Base de Datos >  >> RDS >> PostgreSQL

PostGIS:convierte varios polígonos en un solo polígono

Usé ST_DUMP para convertir una tabla de geometrías de varios polígonos en PostgreSQL en una nueva tabla con geometrías de polígonos y otras columnas de datos.

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;

Actualización: Creo que esto podría lograrse mucho más fácilmente con esta consulta.

CREATE TABLE polygon_table AS 
    SELECT id, example_column, (ST_DUMP(geom)).geom::geometry(Polygon,4326) AS geom FROM multipolygon_table