ST_UnaryUnion — Berechnet die Vereinigung der Komponenten einer einzelnen Geometrie.
geometry ST_UnaryUnion(
geometry geom, float8 gridSize = -1)
;
Eine Variante von ST_Union mit einer einzigen Eingabe. Die Eingabe kann eine einzelne Geometrie, eine MultiGeometry oder eine GeometryCollection sein. Die Vereinigung wird auf die einzelnen Elemente der Eingabe angewendet.
Diese Funktion kann verwendet werden, um MultiPolygone zu korrigieren, die aufgrund von überlappenden Komponenten ungültig sind. Allerdings müssen die Eingabekomponenten jeweils gültig sein. Eine ungültige Eingabekomponente, wie z.B. ein Schleifenpolygon, kann einen Fehler verursachen. Aus diesem Grund kann es besser sein, ST_MakeValid zu verwenden.
Eine weitere Anwendung dieser Funktion ist das Verknüpfen und Auflösen einer Sammlung von Linien, die sich kreuzen oder überlappen, um sie einfach zu machen. (ST_Node tut dies auch, bietet aber nicht die Option gridSize
.)
Es ist möglich, ST_UnaryUnion mit ST_Collect zu kombinieren, um eine Feinabstimmung darüber vorzunehmen, wie viele Geometrien auf einmal vereinigt werden sollen. Dies ermöglicht eine Abwägung zwischen Speichernutzung und Rechenzeit, wobei ein Gleichgewicht zwischen ST_Union und ST_MemUnion hergestellt wird.
Wenn das optionale Argument gridSize
angegeben wird, werden die Eingaben auf ein Gitter der angegebenen Größe gerastert, und die Ergebnispunkte werden auf demselben Gitter berechnet. (Benötigt GEOS-3.9.0 oder höher)
Diese Funktion unterstützt 3d und lässt den Z-Index nicht fallen. Das Ergebnis wird jedoch nur mit XY berechnet. Die Z-Werte des Ergebnisses werden kopiert, gemittelt oder interpoliert.
Verbessert: 3.1.0 akzeptiert einen gridSize-Parameter.
Erfordert GEOS >= 3.9.0 zur Verwendung des Parameters gridSize
Verfügbarkeit: 2.0.0