Name

ST_DumpRings — Returnerar en uppsättning geometry_dump-rader för de yttre och inre ringarna i en polygon.

Synopsis

geometry_dump[] ST_DumpRings(geometry a_polygon);

Beskrivning

En set-returning function (SRF) som extraherar ringarna i en polygon. Den returnerar en uppsättning geometry_dump rader, var och en innehållande en geometri(geom-fält) och en array av heltal(path-fält).

Fältet geom innehåller varje ring som en POLYGON. Fältet path är en heltalsarray med längden 1 som innehåller polygonringens index. Den yttre ringen (skalet) har index 0. De inre ringarna (hålen) har index 1 och högre.

[Note]

This only works for POLYGON geometries, not MULTIPOLYGONs. Use ST_Dump to extract polygon elements from polygonal geometries: ST_DumpRings( (ST_Dump(geom)).geom )

Tillgänglighet: PostGIS 1.1.3. Kräver PostgreSQL 7.3 eller högre.

Denna funktion stöder 3d och kommer inte att tappa z-index.

Exempel

Extracting all rings as polygons.

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

Extracting shell and holes from a polygon.

SELECT path, ST_AsText(geom) As geom
        FROM ST_DumpRings(
                    'POLYGON ((1 9, 9 9, 9 1, 1 1, 1 9), (2 2, 2 3, 3 3, 3 2, 2 2), (4 2, 4 4, 6 4, 6 2, 4 2))');

 path |              geom              
------+--------------------------------
 {0}  | POLYGON((1 9,9 9,9 1,1 1,1 9))
 {1}  | POLYGON((2 2,2 3,3 3,3 2,2 2))
 {2}  | POLYGON((4 2,4 4,6 4,6 2,4 2))