STUnion (tipo de datos geography)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Base de datos de Azure SQL de Microsoft Fabric
Devuelve un objeto que representa la unión de una instancia de geography con otra instancia de geography.
Sintaxis
.STUnion ( other_geography )
Argumentos
other_geography
Es otra instancia de geography para formar la unión con la instancia en la que se invoca STUnion().
Tipos de valor devuelto
Tipo de valor devuelto de SQL Server: geography
Tipo de valor devuelto de CLR: SqlGeography
Excepciones
Este método produce una excepción ArgumentException si la instancia contiene un borde opuesto.
Observaciones
Este método siempre devuelve NULL si no coinciden los identificadores de referencia espacial (SRID) de las instancias de geography.
SQL Server admite instancias espaciales mayores que un hemisferio. En SQL Server, el conjunto de resultados posibles devuelto en el servidor se ha ampliado a las instancias de FullGlobe.
El resultado puede contener segmentos de arco circulares solo si las instancias de entrada contienen segmentos de arco circulares.
Este método no es preciso.
Ejemplos
A. Calcular la unión de dos polígonos
En el ejemplo siguiente se usa STUnion()
para calcular la unión de dos instancias de 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. Generar un resultado de FullGlobe
En el siguiente ejemplo se genera un FullGlobe
cuando STUnion()
une dos instancias 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. Generar un hueco triagonal a partir de la unión de un objeto CurvePolygon y un hueco triagonal.
En el siguiente ejemplo se genera un hueco triagonal a partir de la unión de un CurvePolygon
y una instancia de 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();