Freigeben über


Filter (geography-Datentyp)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Eine Methode, die eine schnelle, nur indexbezogene Schnittmethode bietet, um zu ermitteln, ob eine geography -Instanz eine andere geography -Instanz überschneidet, vorausgesetzt, dass ein Index verfügbar ist.

Gibt 1 zurück, wenn eine geography -Instanz möglicherweise eine andere geography -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 geography -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_geography )  

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_geography
Eine andere geography-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 geography -Instanzen schneiden.

CREATE TABLE sample (id int primary key, g geography);  
INSERT INTO sample VALUES  
   (0, geography::Point(45, -120, 4326)),  
   (1, geography::Point(45, -120.1, 4326)),  
   (2, geography::Point(45, -120.2, 4326)),  
   (3, geography::Point(45, -120.3, 4326)),  
   (4, geography::Point(45, -120.4, 4326));  
  
CREATE SPATIAL INDEX sample_idx on sample(g);  
SELECT id  
FROM sample   
WHERE g.Filter(geography::Parse(  
   'POLYGON((-120.1 44.9, -119.9 44.9, -119.9 45.1, -120.1 45.1, -120.1 44.9))')) = 1;  

Weitere Informationen

Erweiterte Methoden für geography-Instanzen
STIntersects (geography-Datentyp)