PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PostGIS - convertir multipolygone en polygone unique

J'ai utilisé ST_DUMP pour convertir une table de géométries multipolygones dans PostgreSQL en une nouvelle table avec des géométries de polygones et d'autres colonnes de données.

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;

Mise à jour : Je pense que cela pourrait être accompli beaucoup plus facilement avec cette requête.

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