Filter (tipo di dati geography)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure

Metodo di intersezione basato solo su indici che consente di determinare in modo rapido se un'istanza geography interseca un'altra istanza geography, a condizione che sia disponibile un indice.

Restituisce 1 se un'istanza geography interseca potenzialmente un'altra istanza geography. Questo metodo può produrre un risultato falso positivo e il risultato esatto può dipendere dal piano. Restituisce un valore esatto 0 (risultato vero positivo) se non viene rilevata alcuna intersezione tra le istanze geography.

Nel caso in cui un indice non sia disponibile o non venga usato, il metodo restituisce gli stessi valori di STIntersects() se viene chiamato con gli stessi parametri.

Sintassi

  
.Filter ( other_geography )  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

other_geography
Altra istanza geography da confrontare con l'istanza sulla quale viene chiamato Filter().

Tipi restituiti

Tipo SQL Server restituito: bit

Tipo CLR restituito: SqlBoolean

Osservazioni:

Questo metodo non è deterministico e non è preciso.

Esempi

Nell'esempio seguente viene utilizzato Filter() per determinare se due istanze geography si intersecano.

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;  

Vedi anche

Metodi estesi sulle istanze di geografia
STIntersects (tipo di dati geography)