Filter (тип данных geometry)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Предоставляет быстрый метод пересечения, который используется только для индексов и определяет, пересекается ли экземпляр geometry с другим экземпляром geometry при условии, что индекс доступен.

Возвращает значение 1, если экземпляр geometry потенциально пересекается с другим экземпляром geometry. В результате этого метода может появиться ложный положительный результат, а точный результат может зависеть от плана. Возвращает точное значение 0 (истинный отрицательный результат), если пересечение экземпляров geometry не обнаружено.

Если индекс недоступен или не используется, этот метод возвращает те же значения, что и метод STIntersects(), при вызове с одинаковыми параметрами.

Синтаксис

  
.Filter ( other_geometry )  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

other_geometry
Другой экземпляр geometry для сравнения с экземпляром, для которого вызван метод Filter().

Типы возвращаемых данных

Тип возвращаемого значения SQL Server: bit

Тип возвращаемых данных CLR: SqlBoolean

Замечания

Этот метод не является детерминированным или точным.

Примеры

В следующем примере метод Filter() определяет, пересекаются ли два экземпляра geometry.

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;  

См. также

Расширенные методы экземпляров Geometry
STIntersects (тип данных geometry)