STUnion (geography-Datentyp)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

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

Syntax

  
.STUnion ( other_geography )  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

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.

Bemerkungen

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 Kombination eines CurvePolygon 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();

Weitere Informationen

OGC-Methoden für geography-Instanzen