Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Um método que oferece um método de intersecção somente de índice rápido para determinar se uma instância geography faz intersecção com outra instância geography, considerando que um índice esteja disponível.
Retornará 1 se uma instância geography fizer uma intersecção potencial com outra instância geography. Esse método pode gerar um retorno de falso positivo e o resultado exato poderá ser dependente de plano. Retornará um valor 0 preciso (retorno verdadeiro negativo) se houver nenhuma intersecção de instâncias geography localizada.
Nos casos em que um índice não esteja disponível ou não seja usado, o método retornará os mesmos valores que STIntersects() quando chamado com os mesmos parâmetros.
Sintaxe
.Filter ( other_geography )
Argumentos
Termo |
Definição |
other_geography |
É outra instância de geography para comparação com a instância na qual Filter() é invocado. |
Tipos de retorno
SQL Server tipo de retorno: bit
Tipo de retorno CLR: SqlBoolean
Comentários
Esse método não é determinista e não é preciso.
Exemplos
O exemplo a seguir usa Filter() para determinar se há interseção entre duas instâncias de geography.
Código
CREATE table sample (id int primary key, g geography);
INSERT INTO sample values
(0, geography::Point(45, -120, 4326)),
(1, geography::Point(45, -120.1, 4326)),
(2, geography::Point(45, -120.2, 4326)),
(3, geography::Point(45, -120.3, 4326)),
(4, geography::Point(45, -120.4, 4326))
CREATE spatial index sample_idx on sample(g);
SELECT id
FROM sample
WHERE g.Filter(geography::Parse(
'POLYGON((-120.1 44.9, -119.9 44.9, -119.9 45.1, -120.1 45.1, -120.1 44.9))')) = 1;
Consulte também
Referência
STIntersects (tipo de dados geography)