- Kategorien:
ST_UNION¶
Gibt bei zwei GEOGRAPHY-Eingabeobjekten ein GEOGRAPHY-Objekt zurück, das die kombinierte Menge der Formen aus beiden Objekten darstellt (d. h. die Vereinigung der beiden Objekte).
- Siehe auch:
ST_UNION_AGG , ST_INTERSECTION , ST_DIFFERENCE , ST_SYMDIFFERENCE
Syntax¶
ST_UNION( <geography_expression_1> , <geography_expression_2> )
Argumente¶
geography_expression_1
Ein GEOGRAPHY-Objekt.
geography_expression_2
Ein GEOGRAPHY-Objekt.
Rückgabewerte¶
Gibt einen Wert vom Typ GEOGRAPHY zurück.
Nutzungshinweise¶
Befindet sich ein beliebiger Punkt eines Eingabeobjekts auf der Grenze des anderen Eingabeobjekts (ohne Punkte), sind einige Punkte der Vereinigung in der Ausgabe möglicherweise mehrfach dargestellt.
Zum Beispiel in der folgenden Anweisung:
SELECT ST_UNION( TO_GEOGRAPHY('POINT(1 1)'), TO_GEOGRAPHY('LINESTRING(1 0, 1 2)') );
POINT(1 1)
liegt auf der Grenze vonLINESTRING(1 0, 1 2)
, ist aber kein Punkt davon.In diesem Beispiel ist nicht garantiert, dass ST_UNION eine minimale Ausgabe erzeugt. Die erwartete Ausgabe sollte der Eingabe-LineString sein:
LINESTRING(1 0, 1 2)
Aber die tatsächliche Ausgabe könnte sein:
GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(1 0,1 1,1 2))
wobei
POINT (1,1)
in der Ausgabe zweimal dargestellt wird: einmal als der Punkt selbst und einmal als ein Punkt innerhalb von LineString.
Beispiele¶
Im folgende Beispiel wird ein GEOGRAPHY-Objekt zurückgegeben, das die Vereinigung der beiden GEOGRAPHY-Eingabeobjekte darstellt:
ALTER SESSION SET GEOGRAPHY_OUTPUT_FORMAT = 'WKT'; SELECT ST_UNION( TO_GEOGRAPHY('POLYGON((0 0, 1 0, 2 1, 1 2, 2 3, 1 4, 0 4, 0 0))'), TO_GEOGRAPHY('POLYGON((3 0, 3 4, 2 4, 1 3, 2 2, 1 1, 2 0, 3 0))') ) AS union_of_objects;
Dieses Beispiel ergibt die folgende Ausgabe:
+-------------------------------------------------------------------------------------------------------------------------------------------+ | UNION_OF_OBJECTS | |-------------------------------------------------------------------------------------------------------------------------------------------| | POLYGON((3 0,3 4,2 4,1.5 3.500399839,1 4,0 4,0 0,1 0,1.5 0.5000571198,2 0,3 0),(1.5 1.500171359,1 2,1.5 2.500285599,2 2,1.5 1.500171359)) | +-------------------------------------------------------------------------------------------------------------------------------------------+
Die folgenden Bilder veranschaulichen die Unterschiede in den Flächen, die die Eingabe- und Ausgabeobjekte darstellen:
Eingabe |
Ausgabe |
---|---|