STUnion (tipo de dados geography)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
Retorna um objeto que representa a união de uma instância de geography com outra instância de geography.
Sintaxe
.STUnion ( other_geography )
Argumentos
other_geography
É outra instância de geography para formar uma união com a instância na qual STUnion() está sendo invocado.
Tipos de retorno
Tipo de retorno do SQL Server: geography
Tipo de retorno do CLR: SqlGeography
Exceções
Esse método gera uma ArgumentException se a instância contém uma borda oposta.
Comentários
Esse método sempre retorna nulo se os SRIDs (identificadores de referência espacial) das instâncias de geography não são correspondentes.
SQL Server oferece suporte a instâncias espaciais maiores do que um hemisfério. No SQL Server, o conjunto de possíveis resultados retornado no servidor foi estendido para instâncias FullGlobe.
O resultado poderá conter segmentos de arco circular apenas se as instâncias de entrada contiverem segmentos de arco circulares.
Esse método não é preciso.
Exemplos
a. Calculando a união de dois polígonos
O exemplo a seguir usa STUnion()
para computar a união de duas instâncias 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. Produzindo um resultado de FullGlobe
O exemplo a seguir gera um FullGlobe
quando STUnion()
combina duas instâncias de 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. Produzindo um espaço trigonal de uma união de um CurvePolygon e um espaço trigonal.
O exemplo a seguir gera um orifício triagonal da união de um CurvePolygon
com uma instância 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();