Freigeben über


STUnion (geography-Datentyp)

Gibt ein Objekt zurück, das die Vereinigung einer geography-Instanz mit einer weiteren geography-Instanz darstellt.

Syntax

.STUnion ( other_geography )

Argumente

  • other_geography
    Eine andere geography-Instanz zur Vereinigung mit der Instanz, in der STUnion() aufgerufen wird.

Rückgabetypen

SQL Server Rückgabetyp: geography

CLR-Rückgabetyp: SqlGeography

Ausnahmen

Diese Methode löst eine ArgumentException aus, wenn die Instanz eine gegenüberliegende Kante enthält.

Hinweise

Diese Methode gibt immer NULL zurück, wenn die SRIDs (Spatial Reference IDs) der geography-Instanzen nicht übereinstimmen.

SQL Server unterstützt räumliche Instanzen, die größer als eine Hemisphäre sind. In SQL Server wurden die Ergebnisse, die auf dem Server zurückgegeben werden können, um FullGlobe-Instanzen erweitert.

Im Ergebnis können nur dann Kreisbogensegmente enthalten sein, wenn die Eingabeinstanzen auch Kreisbogensegmente enthalten.

Diese Methode ist nicht exakt.

Beispiele

A.Berechnen der Vereinigungsmenge zweier Polygone

Im folgenden Beispiel wird STUnion() zum Berechnen der Vereinigung zweier Polygon-Instanzen verwendet.

DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);
SET @h = geography::STGeomFromText('POLYGON((-122.351 47.656, -122.341 47.656, -122.341 47.661, -122.351 47.661, -122.351 47.656))', 4326);
SELECT @g.STUnion(@h).ToString();

B.Erzeugen eines FullGlobe-Ergebnisses

Im folgenden Beispiel wird ein FullGlobe erzeugt, wenn von STUnion() zwei Polygon-Instanzen kombiniert werden.

DECLARE @g geography = 'POLYGON ((-122.358 47.653, -122.358 47.658,-122.348 47.658, -122.348 47.649, -122.358 47.653))';

DECLARE @h geography = 'POLYGON ((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';

SELECT @g.STUnion(@h).ToString();

C.Erzeugen eines dreieckigen Lochs aus der Vereinigungsmenge eines CurvePolygons und eines dreieckigen Lochs.

Im folgenden Beispiel wird ein dreieckiges Loch aus der Vereinigungsmenge eines CurvePolygon und einer Polygon-Instanz erzeugt.

DECLARE @g geography = 'POLYGON ((-0.5 0, 0 1, 0.5 0.5, -0.5 0))';

DECLARE @h geography = 'CURVEPOLYGON(COMPOUNDCURVE(CIRCULARSTRING(0 0, 0.7 0.7, 0 1), (0 1, 0 0)))';

SELECT @g.STUnion(@h).ToString();

Siehe auch

Andere Ressourcen

OGC-Methoden für geography-Instanzen