Compartilhar via


STSymDifference (tipo de dados geography)

Retorna um objeto que representa todos os pontos que estão em uma instância de geography ou em outra instância de geography, mas não os pontos que residem nas duas instâncias.

Aplica-se a: SQL Server (SQL Server 2008 até a versão atual), Banco de dados SQL do Windows Azure (versão inicial até a versão atual).

Sintaxe

.STSymDifference ( other_geography )

Argumentos

  • other_geography
    É outra instância de geography além da instância na qual o STSymDistance() está sendo invocado.

Tipos de retorno

SQL Server tipo de retorno: geography

Tipo de retorno CLR: SqlGeography

Comentários

Esse método sempre retornará nulo se as SRIDs (IDs de referência espacial) das instâncias geography não forem correspondentes.

SQL Server oferece suporte a instâncias espaciais maiores do que um hemisfério. No SQL Server, o conjunto de possíveis resultados no servidor foi estendido para instâncias de FullGlobe.

O resultado poderá conter segmentos de arco circular apenas se as instâncias de entrada contiverem segmentos de arco circulares.

Exemplos

A.Computando a diferença simétrica de dois polígonos

O exemplo a seguir usa STSymDifference() para computar a diferença simétrica entre 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.STSymDifference(@h).ToString();

B.Computando a diferença simétrica com FullGlobe

O exemplo a seguir compara a diferença simétrica de um Polygon com FullGlobe.

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

SELECT @g.STSymDifference('FULLGLOBE').ToString();

Consulte também

Outros recursos

Métodos do OGC em instâncias de geography