STIntersection (tipo de dados geometry)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Banco de Dados SQL no Microsoft Fabric
Retorna um objeto que representa os pontos em que uma instância de geometry intersecciona outra instância de geometry.
Sintaxe
.STIntersection ( other_geometry )
Argumentos
other_geometry
É outra instância de geometry a ser comparada com a instância em que STIntersection()
está sendo invocado, para determinar o local da interseção.
Tipos de retorno
Tipo de retorno do SQL Server: geometry
Tipo de retorno do CLR: SqlGeometry
Comentários
STIntersection()
sempre retornará nulo se as SRIDs (IDs de referência espacial) das instâncias de geometry não forem correspondentes. O resultado poderá conter segmentos de arco circulares apenas se as instâncias de entrada os contiverem.
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();