Freigeben über


STIntersection (geometry-Datentyp)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceSQL Analytics-Endpunkt in Microsoft FabricWarehouse 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 )  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

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

Weitere Informationen

OGC-Methoden für geometry-Instanzen