ST_DumpRings
Prev | 8.4. Geometry Accessors | Next

## Name

ST_DumpRings — Returns a set of `geometry_dump` rows for the exterior and interior rings of a Polygon.

## Synopsis

`geometry_dump[] ST_DumpRings(`geometry a_polygon`)`;

## Description

A set-returning function (SRF) that extracts the rings of a polygon. It returns a set of geometry_dump rows, each containing a geometry (`geom` field) and an array of integers (`path` field).

The `geom` field contains each ring as a POLYGON. The `path` field is an integer array of length 1 containing the polygon ring index. The exterior ring (shell) has index 0. The interior rings (holes) have indices of 1 and higher.

This only works for POLYGON geometries. It does not work for MULTIPOLYGONS

Availability: PostGIS 1.1.3. Requires PostgreSQL 7.3 or higher.

This function supports 3d and will not drop the z-index.

## Examples

General form of query.

    SELECT polyTable.field1, polyTable.field1,
    	  (ST_DumpRings(polyTable.geom)).geom As geom
    FROM polyTable;

A polygon with a single hole.

    SELECT path, ST_AsEWKT(geom) As geom
    	FROM ST_DumpRings(
    		ST_GeomFromEWKT('POLYGON((-8149064 5133092 1,-8149064 5132986 1,-8148996 5132839 1,-8148972 5132767 1,-8148958 5132508 1,-8148941 5132466 1,-8148924 5132394 1,
    		-8148903 5132210 1,-8148930 5131967 1,-8148992 5131978 1,-8149237 5132093 1,-8149404 5132211 1,-8149647 5132310 1,-8149757 5132394 1,
    		-8150305 5132788 1,-8149064 5133092 1),
    		(-8149362 5132394 1,-8149446 5132501 1,-8149548 5132597 1,-8149695 5132675 1,-8149362 5132394 1))')
    		)  as foo;
     path |                                            geom
    ----------------------------------------------------------------------------------------------------------------
      {0} | POLYGON((-8149064 5133092 1,-8149064 5132986 1,-8148996 5132839 1,-8148972 5132767 1,-8148958 5132508 1,
    	  |          -8148941 5132466 1,-8148924 5132394 1,
    	  |          -8148903 5132210 1,-8148930 5131967 1,
    	  |          -8148992 5131978 1,-8149237 5132093 1,
    	  |          -8149404 5132211 1,-8149647 5132310 1,-8149757 5132394 1,-8150305 5132788 1,-8149064 5133092 1))
      {1} | POLYGON((-8149362 5132394 1,-8149446 5132501 1,
    	  |          -8149548 5132597 1,-8149695 5132675 1,-8149362 5132394 1))

## See Also

geometry_dump, Section 15.6, “PostGIS Geometry / Geography / Raster Dump Functions”, ST_Dump, ST_ExteriorRing, ST_InteriorRingN

Prev | Up | Next
ST_DumpSegments | Home | ST_EndPoint