# Filter (geometry Data Type)

**APPLIES TO:** SQL Server (starting with 2008) Azure SQL Database Azure SQL Data Warehouse Parallel Data Warehouse

A method that offers a fast, index-only intersection method to determine if a **geometry** instance intersects another **geometry** instance, assuming an index is available.

Returns 1 if a **geometry** instance potentially intersects another **geometry** instance. This method may produce a false positive return, and the exact result may be plan-dependent. Returns an accurate 0 value (true negative return) if there is no intersection of **geometry** instances found.

In cases where an index is not available, or is not used, the method will return the same values as **STIntersects()** when called with the same parameters.

## Syntax

```
.Filter ( other_geometry )
```

## Arguments

*other_geometry*

Is another **geometry** instance to compare against the instance on which Filter() is invoked.

## Return Types

SQL Server return type: **bit**

CLR return type: **SqlBoolean**

## Remarks

This method is not deterministic and is not precise.

## Examples

The following example uses `Filter()`

to determine if two `geometry`

instances intersect each other.

```
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;
```

## See Also

Extended Methods on Geometry Instances

STIntersects (geometry Data Type)