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