Filter (type de données geometry)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Méthode rapide d’intersection d’index uniquement, qui permet de déterminer si une instance geometry entre en intersection avec une autre instance geometry, en supposant qu’un index soit disponible.

Retourne 1 si une instance geometry entre potentiellement en intersection avec une autre instance geometry. Cette méthode peut produire un retour de faux positif, et le résultat exact peut être dépendant du plan. Retourne une valeur 0 précise (retour négatif vrai) si aucune intersection d’instances geometry n’est détectée.

Dans les cas où un index n’est pas disponible ou n’est pas utilisé, la méthode retourne les mêmes valeurs que STIntersects() quand elle est appelée avec les mêmes paramètres.

Syntaxe

  
.Filter ( other_geometry )  

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.

Arguments

other_geometry
Autre instance geometry à comparer à l’instance sur laquelle Filter() est appelé.

Types de retour

Type de retour SQL Server : bit

Type de retour CLR : SqlBoolean

Remarques

Cette méthode n'est pas déterministe et n'est pas précise.

Exemples

L'exemple suivant utilise Filter() pour déterminer si deux instances geometry entrent en intersection.

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;  

Voir aussi

Méthodes étendues sur les instances géométriques
STIntersects (type de données geometry)