Name

ST_CollectionHomogenize — Gibt die einfachste Darstellung einer Geometriesammlung zurück.

Übersicht

geometry ST_CollectionHomogenize(geometry collection);

Beschreibung

Gibt bei einer Geometriesammlung die "einfachste" Darstellung des Inhalts zurück.

  • Homogene (einheitliche) Sammlungen werden als die entsprechende Multi-Geometrie zurückgegeben.

  • Heterogene (gemischte) Sammlungen werden zu einer einzigen GeometryCollection zusammengeführt.

  • Sammlungen, die ein einzelnes atomares Element enthalten, werden als dieses Element zurückgegeben.

  • Atomare Geometrien werden unverändert zurückgegeben. Bei Bedarf können diese mit ST_Multi in eine Multi-Geometrie umgewandelt werden.

[Warnung]

Diese Funktion stellt nicht sicher, dass das Ergebnis gültig ist. Insbesondere wird eine Sammlung, die benachbarte oder überlappende Polygone enthält, ein ungültiges MultiPolygon erzeugen. Diese Situation kann mit ST_IsValid überprüft und mit ST_MakeValid behoben werden.

Verfügbarkeit: 2.0.0

Beispiele

In eine atomare Geometrie umgewandelte Einzelelementsammlung

Code
SELECT ST_CollectionHomogenize('GEOMETRYCOLLECTION(POINT(0 0))');
Ausgabe von Rastern
POINT(0 0)
Figure
Geometry figure for visual-st-collectionhomogenize-01

Verschachtelte Einzelelementsammlung, die in eine atomare Geometrie umgewandelt wurde:

Code
SELECT ST_CollectionHomogenize('GEOMETRYCOLLECTION(MULTIPOINT((0 0)))');
Ausgabe von Rastern
POINT(0 0)
Figure
Geometry figure for visual-st-collectionhomogenize-02

Sammlung in eine Multi-Geometrie umgewandelt:

Code
SELECT ST_CollectionHomogenize('GEOMETRYCOLLECTION(POINT(0 0), POINT(1 1))');
Ausgabe von Rastern
MULTIPOINT((0 0),(1 1))
Figure
Geometry figure for visual-st-collectionhomogenize-03

Verschachtelte heterogene Sammlung, die zu einer GeometryCollection abgeflacht wurde:

Code
SELECT ST_CollectionHomogenize('GEOMETRYCOLLECTION(POINT(0 0), GEOMETRYCOLLECTION( LINESTRING(1 1,2 2)))');
Ausgabe von Rastern
GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1,2 2))
Figure
Geometry figure for visual-st-collectionhomogenize-04

Sammlung von Polygonen, die in ein (ungültiges) MultiPolygon umgewandelt wurden:

Code
SELECT ST_CollectionHomogenize('GEOMETRYCOLLECTION (POLYGON ((10 50,50 50,50 10,10 10,10 50)),POLYGON ((90 50,90 10,50 10,50 50,90 50)))');
Ausgabe von Rastern
MULTIPOLYGON(((10 50,50 50,50 10,10 10,10 50)),((90 50,90 10,50 10,50 50,90 50)))
Figure
Geometry figure for visual-st-collectionhomogenize-05