STIntersection (tipo de dados geometry)
Retorna um objeto que representa os pontos onde uma instância de geometry intercepta outra instância de geometry.
Sintaxe
.STIntersection ( other_geometry )
Argumentos
- other_geometry
É outra instância de geometry para comparar com a instância em que STIntersection() está sendo invocado para determinar o local da interseção.
Tipos de retorno
SQL Server tipo de retorno: geometry
Tipo de retorno CLR: SqlGeometry
Comentários
STIntersection() sempre retornará nulo se os SRIDs (IDs de referência espacial) das instâncias de geometry não corresponderem. O resultado poderá conter segmentos de arco circular apenas se as instâncias de entrada contiverem segmentos de arco circulares.
Exemplos
A.Usando STIntersection() em instâncias de Polygon
O exemplo a seguir usa STIntersection() para computar a interseção de dois polígonos.
DECLARE @g geometry;
DECLARE @h geometry;
SET @g = geometry::STGeomFromText('POLYGON((0 0, 0 2, 2 2, 2 0, 0 0))', 0);
SET @h = geometry::STGeomFromText('POLYGON((1 1, 3 1, 3 3, 1 3, 1 1))', 0);
SELECT @g.STIntersection(@h).ToString();
B.Usando STIntersection() com instância de CurvePolygon
O exemplo a seguir retorna uma instância que contém um segmento de arco circular.
DECLARE @g geometry = 'CURVEPOLYGON (CIRCULARSTRING (0 -4, 4 0, 0 4, -4 0, 0 -4))';
DECLARE @h geometry = 'POLYGON ((1 -1, 5 -1, 5 3, 1 3, 1 -1))';
SELECT @h.STIntersection(@g).ToString();