Udostępnij przez


Filter (geometry Data Type)

Metoda, która oferuje metody szybkiego, tylko do indeksu punktu przecięcia do określenia, czy geometry wystąpienie przecina inne geometry wystąpienie, indeks przy założeniu, że jest dostępna.

Zwraca wartość 1, jeśli geometry wystąpienie potencjalnie przecina inne geometry wystąpienie. Ta metoda może być fałszywe zwrotu dodatnie i dokładne wyniki mogą być zależne od planu.Zwraca wartość 0 dokładne (true zwrot ujemna), jeśli nie ma żadnych przecięcia geometry znaleziono wystąpień.

W przypadkach, gdy indeks jest niedostępny lub nie jest używany metoda zwraca te same wartości jak STIntersects() gdy wywołany z tymi samymi parametrami.

.Filter ( other_geometry )

Argumenty

Termin

Definicja

other_geometry

Czy drugi geometry wystąpienie, które ma zostać porównana przy użyciu wystąpienie, w którym Filter() jest wywoływany.

Zwracane typy

SQL Server typ zwrotny: bit

Zwracany typ CLR: SqlBoolean

Remarks

Ta metoda nie jest deterministyczny i nie są dokładne.

Przykłady

W poniższym przykładzie użyto Filter() Aby ustalić, czy dwa geometry wystąpienia przecinających.

Code

CREATE TABLE sample (id int primary key, g geometry)
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)
)
SELECT id
FROM sample 
WHERE g.Filter(geometry::Parse(
   'POLYGON((-1 -1, 1 -1, 1 1, -1 1, -1 -1))')) = 1