STIntersection (tipo de datos geometry)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance
Devuelve un objeto que representa los puntos donde una instancia de geometry forma intersección con otra instancia de geometry.
Sintaxis
.STIntersection ( other_geometry )
Nota:
Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.
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();