Freigeben über


STIntersection (geometry-Datentyp)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzSQL-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 )  

Arguments

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

Remarks

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.

Examples

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();

Siehe auch

OGC-Methoden für geometry-Instanzen