다음을 통해 공유


Filter(geometry 데이터 형식)

인덱스를 사용할 수 있는 경우 geometry 인스턴스가 다른 geometry 인스턴스와 교차하는지 확인하는 빠른 인덱스 전용 교차 방법을 제공하는 메서드입니다.

geometry 인스턴스가 다른 geometry 인스턴스와 교차될 가능성이 있으면 1을 반환합니다. 이 메서드는 거짓 긍정 결과를 반환할 수 있으며 정확한 결과는 계획에 따라 다릅니다. geometry 인스턴스가 교차되지 않으면 정확한 0 값(참 부정 결과)을 반환합니다.

인덱스를 사용할 수 없거나 사용하지 않는 경우 동일한 매개 변수를 사용하여 호출하면 이 메서드는 STIntersects()와 동일한 값을 반환합니다.

구문

.Filter ( other_geometry )

인수

용어

정의

other_geometry

Filter()를 호출할 인스턴스와 비교할 다른 geometry 인스턴스입니다.

반환 형식

SQL Server 반환 형식: bit

CLR 반환 형식: SqlBoolean

주의

이 메서드는 비결정적이고 정확하지 않습니다.

다음 예에서는 Filter()를 사용하여 두 geometry 인스턴스가 서로 교차하는지 확인합니다.

코드

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