Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
SQL-Datenbank in Microsoft Fabric
Eine Methode, die eine schnelle, nur indexbezogene Schnittmethode bietet, um zu ermitteln, ob eine geometry -Instanz eine andere geometry -Instanz überschneidet, vorausgesetzt, dass ein Index verfügbar ist.
Gibt 1 zurück, wenn eine geometry -Instanz möglicherweise eine andere geometry -Instanz überschneidet. Diese Methode erzeugt eventuell eine falsche positive Rückgabe, und das genaue Ergebnis ist unter Umständen planabhängig. Gibt einen genauen Wert 0 (wahr negative Rückgabe) zurück, wenn keine Überschneidung von geometry -Instanzen gefunden wird.
Wenn kein Index verfügbar ist oder verwendet wird, gibt die Methode dieselben Werte zurück wie STIntersects() , wenn diese Methode mit denselben Parametern aufgerufen wird.
Syntax
.Filter ( other_geometry )
Argumente
other_geometry
Eine andere geometry-Instanz zum Vergleich mit der Instanz, in der Filter() aufgerufen wird.
Rückgabetypen
SQL Server-Rückgabetyp: bit
CLR-Rückgabetyp: SqlBoolean
Hinweise
Diese Methode ist weder deterministisch noch präzise.
Beispiele
Im folgenden Beispiel wird Filter()
verwendet, um festzustellen, wo sich zwei geometry
-Instanzen schneiden.
CREATE TABLE sample (id int primary key, g geometry);
GO
INSERT INTO sample VALUES
(0, geometry::Point(0, 0, 0)),
(1, geometry::Point(0, 1, 0)),
(2, geometry::Point(0, 2, 0)),
(3, geometry::Point(0, 3, 0)),
(4, geometry::Point(0, 4, 0));
CREATE SPATIAL INDEX sample_idx ON sample(g)
WITH (bounding_box = (-8000, -8000, 8000, 8000));
GO
SELECT id
FROM sample
WHERE g.Filter(geometry::Parse('POLYGON((-1 -1, 1 -1, 1 1, -1 1, -1 -1))')) = 1;
Weitere Informationen
Erweiterte Methoden für geometry-Instanzen
STIntersects (geometry-Datentyp)