ST_Dump — Splits Multi-geometries and GeometryCollections into a set of single geometries.
geometry[] ST_Dump(bytea
Geometry);
geometry[] ST_Dump(bytea
Geometry, integer
GeometryDimension);
Splits Multi-geometries and GeometryCollections into a set of single geometries.
The type of geometries to extract can be indicated as an integer. Possible values are 0 for Points, 1 for LineStrings, 2 for Polygons.
The reverse function of ST_Dump is ST_Collect.
![]() | |
GeometryCollections are supported. |
![]() | |
JASPA ST_Dump function returns just an array of geometries. PostGIS ST_Dump function creates an array of geometries with an array of integers (path). |
| 2D | 3D | M |
|---|---|---|
![]() | ![]() | ![]() |
| OGC SFS for SQL. 1.1 (1999) | OGC SFS for SQL. 1.1.0 (2005) | OGC SFS for SQL. 1.2.0 (2006) | SQL-MM Part 3 |
|---|---|---|---|
| - | - | - | - |
ST_Dump(geomA)
SELECT st_dump (st_geomfromtext('MULTIPOINT (1 2, 3 4, 5 6)'));
st_dump
--------------------------------------------------------------------------------
\001\001\000\000\000\000\000\000\000\000\000\360?\000\000\000\000\000\000\000@
\001\001\000\000\000\000\000\000\000\000\000\010@\000\000\000\000\000\000\020@
\001\001\000\000\000\000\000\000\000\000\000\024@\000\000\000\000\000\000\030@
(3 rows)
SELECT ST_astext(st_dump (st_geomfromtext('MULTIPOINT (1 2, 3 4, 5 6)')));
st_astext
-------------
POINT (1 2)
POINT (3 4)
POINT (5 6)
(3 rows)
--4D GeometryCollection
SELECT ST_astext(st_dump (st_geomfromtext('GEOMETRYCOLLECTION (POINT (2 2 1 8), POINT (2 5 1 9),
POLYGON ((3 4 4 5, 3.2 6 8 9, 2.8 7.4 7 2, 5.1 7.1 5 8, 4.4 4.5 4 8, 3 4 4 5)))')));
st_astext
--------------------------------------------------------------------------------
POINT (2 2 1 8)
POINT (2 5 1 9)
POLYGON ((3 4 4 5, 3.2 6 8 9, 2.8 7.4 7 2, 5.1 7.1 5 8, 4.4 4.5 4 8, 3 4 4 5))
(3 rows)
ST_Dump(geomA,dim)
--Creates a set from points
SELECT ST_astext(st_dump (
st_geomfromtext('GEOMETRYCOLLECTION (POINT (2 2), POINT(5 3), POINT (6 5),POLYGON ((3 4, 3.2 6, 2.8 7.4, 5.1 7.1, 4.4 4.5, 3 4)))')
,0));
--Result
st_astext
-------------
POINT (2 2)
POINT (5 3)
POINT (6 5)
(3 rows)
--Creates a set from polygons
SELECT ST_astext(st_dump (
st_geomfromtext('GEOMETRYCOLLECTION (POINT (2 2), POINT(5 3), POINT (6 5),POLYGON ((3 4, 3.2 6, 2.8 7.4, 5.1 7.1, 4.4 4.5, 3 4)))')
,2));
--Result
st_astext
--------------------------------------------------------
POLYGON ((3 4, 3.2 6, 2.8 7.4, 5.1 7.1, 4.4 4.5, 3 4))
(1 row)
ST_Dump(geomA)
SELECT * from st_dump ('select st_geomfromewkt(''MULTIPOINT (1 2, 3 4, 5 6)'')');
JASPA.ST_GEOMFROMEWKT('MULTIPOINT (1 2, 3 4, 5 6)')
0101000000000000000000f03f0000000000000040
010100000000000000000008400000000000001040
010100000000000000000014400000000000001840
SELECT ST_AsText(geom) from st_dump ('select st_geomfromewkt(''MULTIPOINT (1 2, 3 4, 5 6)'') as geom');
ST_ASTEXT(GEOM)
POINT (1 2)
POINT (3 4)
POINT (5 6)
--4D GeometryCollection
SELECT ST_AsText(geom) from st_dump ('select st_geomfromewkt(''GEOMETRYCOLLECTION (POINT (2 2 1 8), POINT (2 5 1 9),
POLYGON ((3 4 4 5, 3.2 6 8 9, 2.8 7.4 7 2, 5.1 7.1 5 8, 4.4 4.5 4 8, 3 4 4 5)))'') as geom');
ST_ASTEXT(GEOM)
POINT (2 2 1 8)
POINT (2 5 1 9)
POLYGON ((3 4 4 5, 3.2 6 8 9, 2.8 7.4 7 2, 5.1 7.1 5 8, 4.4 4.5 4 8, 3 4 4 5))ST_Dump(geomA,dim)
--Creates a set from points
SELECT ST_AsText(geom) from st_dump ('select st_geomfromewkt(''GEOMETRYCOLLECTION (POINT (2 2), POINT(5 3), POINT (6 5),
POLYGON ((3 4, 3.2 6, 2.8 7.4, 5.1 7.1, 4.4 4.5, 3 4)))'') as geom',0);
--Result
JASPA.ST_ASTEXT(GEOM)
POINT (2 2)
POINT (5 3)
POINT (6 5)
--Creates a set from polygons
SELECT ST_AsText(geom) from st_dump ('select st_geomfromewkt(''GEOMETRYCOLLECTION (POINT (2 2), POINT(5 3), POINT (6 5),
POLYGON ((3 4, 3.2 6, 2.8 7.4, 5.1 7.1, 4.4 4.5, 3 4)))'')',2);
--Result
JASPA.ST_ASTEXT(GEOM)
POLYGON ((3 4, 3.2 6, 2.8 7.4, 5.1 7.1, 4.4 4.5, 3 4))