Condividi tramite


STUnion (tipo di dati geography)

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure database SQL in Microsoft Fabric

Restituisce un oggetto che rappresenta l'unione di un'istanza geography con un'altra istanza geography.

Sintassi

  
.STUnion ( other_geography )  

Argomenti

other_geography
Altra istanza geography per formare un'unione con l'istanza sulla quale viene chiamato STUnion().

Tipi restituiti

Tipo SQL Server restituito: geography

Tipo CLR restituito: SqlGeography

Eccezioni

Questo metodo genera un'eccezione ArgumentException se l'istanza contiene un bordo opposto.

Osservazioni:

Questo metodo restituisce sempre Null se gli identificatori SRID delle istanze geography non corrispondono.

SQL Server supporta le istanze spaziali di dimensioni maggiori di un emisfero. In SQL Server, il set di possibili risultati restituito nel server è stato esteso alle istanze FullGlobe.

Il risultato può contenere segmenti di arco circolare solo se le istanze di input contengono segmenti di arco circolare.

Il metodo non è preciso.

Esempi

R. Calcolo dell'unione di due poligoni

Nell'esempio seguente viene utilizzato STUnion() per calcolare l'unione di due istanze Polygon.

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. Generazione di un risultato FullGlobe

Nell'esempio seguente viene generato FullGlobe quando STUnion() combina due istanze Polygon.

 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. Generazione di un foro triangolare da un'unione di CurvePolygon e un foro triangolare.

Nell'esempio seguente viene generato un foro triangolare dall'unione di CurvePolygon con un'istanza Polygon.

 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();

Vedi anche

Metodi OGC sulle istanze di geografia