Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base de dados SQL no Microsoft Fabric
Retorna um objeto que representa os pontos em que uma ocorrência de geografia cruza outra ocorrência de geografia .
Syntax
.STIntersection ( other_geography )
Arguments
other_geography
É outra instância geográfica para comparar com a instância na qual STIntersection() está sendo invocado.
Tipos de devolução
Tipo de retorno do SQL Server: geografia
Tipo de retorno CLR: SqlGeography
Remarks
A intersecção de duas instâncias geográficas é retornada.
STIntersection() sempre retorna null se os identificadores de referência espacial (SRIDs) das instâncias geográficas não corresponderem.
O SQL Server dá suporte a instâncias espaciais maiores que um hemisfério. O SQL Server pode incluir instâncias FullGlobe no conjunto de possíveis resultados retornados no servidor.
O resultado pode conter segmentos de arco circular somente se as instâncias de entrada contiverem segmentos de arco circular.
Examples
A. Computando a interseção de um Polígono e um LineString
O exemplo a seguir usa STIntersection() para calcular a interseção de a Polygon e a LineString.
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('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SELECT @g.STIntersection(@h).ToString();
B. Calculando a interseção de um Polígono e um Polígono Curva
O exemplo a seguir retorna uma instância que contém um segmento de arco circular.
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('CURVEPOLYGON(CIRCULARSTRING(-122.351 47.656, -122.341 47.656, -122.341 47.661, -122.351 47.661, -122.351 47.656))', 4326);
SELECT @g.STIntersection(@h).ToString();
C. Calculando a diferença simétrica com o FullGlobe
O exemplo a seguir compara a diferença simétrica de a 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.STIntersection('FULLGLOBE').ToString();