STIntersection (tipo de datos geometry)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Base de datos de Azure SQL de Microsoft Fabric
Devuelve un objeto que representa los puntos donde una instancia de geometry forma intersección con otra instancia de geometry.
Sintaxis
.STIntersection ( other_geometry )
Argumentos
other_geometry
Es otra instancia de geometry usada para compararla con la instancia en la que se invoca STIntersection()
, con objeto de determinar sus puntos de intersección.
Tipos de valor devuelto
Tipo de valor devuelto de SQL Server: geometry
Tipo de valor devuelto de CLR: SqlGeometry
Comentarios
STIntersection()
siempre devuelve NULL si no coinciden los identificadores de referencia espacial (SRID) de las instancias de geometry. El resultado puede contener segmentos de arco circulares solo si las instancias de entrada los contienen.
Ejemplos
A. Usar STIntersection () en instancias de Polygon
En el ejemplo siguiente se utiliza STIntersection()
para calcular la intersección de dos 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. Usar STIntersection() con una instancia de CurvePolygon
En el siguiente ejemplo se devuelve una instancia que contiene un 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();