STIntersection (geometry-Datentyp)
Gibt ein Objekt zurück, das die Punkte darstellt, an denen eine geometry-Instanz sich mit einer anderen 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();