STIntersection (geometry-Datentyp)
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
SQL-Datenbank in Microsoft Fabric
Gibt ein Objekt zurück, das die Punkte darstellt, an denen eine geometry -Instanz eine andere geometry -Instanz überschneidet.
Syntax
.STIntersection ( other_geometry )
Argumente
other_geometry
Eine andere geometry -Instanz für den Vergleich mit der Instanz, in der STIntersection()
aufgerufen wird, um zu bestimmen, wo sich die beiden Instanzen überschneiden.
Rückgabetypen
SQL Server-Rückgabetyp: geometry
CLR-Rückgabetyp: SqlGeometry
Hinweise
STIntersection()
gibt immer NULL zurück, wenn die SRIDs (Spatial Reference IDs) der geometry-Instanzen nicht übereinstimmen. Im Ergebnis können nur dann Kreisbogensegmente enthalten sein, wenn die Eingabeinstanzen auch Kreisbogensegmente enthalten.
Beispiele
A. Verwenden von STIntersection() auf Polygoninstanzen
Im folgenden Beispiel wird STIntersection()
zum Berechnen der Schnittmenge zweier Polygone verwendet.
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. Verwenden von STIntersection() mit CurvePolygon-Instanzen
Im folgenden Beispiel wird eine Instanz zurückgegeben, die ein Kreisbogensegment enthält.
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();