Name

ST_DumpRings — Gibt einen Satz von geometry_dump Zeilen für die äußeren und inneren Ringe eines Polygons zurück.

Synopsis

geometry_dump[] ST_DumpRings(geometry a_polygon);

Beschreibung

Eine Funktion, die eine Menge zurückgibt (SRF), die die Ringe eines Polygons extrahiert. Sie gibt einen Satz von geometry_dump Zeilen zurück, die jeweils eine Geometrie (geom Feld) und eine Reihe von Ganzzahlen (path Feld) enthalten.

Das Feld geom enthält jeden Ring als POLYGON. Das Feld path ist ein ganzzahliges Feld der Länge 1, das den Polygonringindex enthält. Der äußere Ring (Schale) hat den Index 0. Die inneren Ringe (Löcher) haben Indizes von 1 und höher.

[Note]

Dies funktioniert nicht mit MULTIPOLYGONen. Verwenden Sie die Funktion bitte in Zusammenhang mit ST_Dump um sie auf MULTIPOLYGONe anzuwenden.

Verfügbarkeit: PostGIS 1.1.3. Benötigt PostgreSQL 7.3 oder höher.

Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen.

Beispiele

Allgemeine Form der Abfrage.

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

Ein Polygon mit einem einzigen Loch.

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))