Bagikan melalui


Filter (Tipe Data geometri)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceDatabase SQL di Microsoft Fabric

Metode yang menawarkan metode persimpangan khusus indeks yang cepat untuk menentukan apakah instans geometri berpotongan dengan instans geometri lain, dengan asumsi indeks tersedia.

Mengembalikan 1 jika instans geometri berpotensi membagi instans geometri lain. Metode ini dapat menghasilkan pengembalian positif palsu, dan hasil yang tepat mungkin bergantung pada rencana. Mengembalikan nilai 0 yang akurat (pengembalian negatif benar) jika tidak ada persimpangan instans geometri yang ditemukan.

Dalam kasus di mana indeks tidak tersedia, atau tidak digunakan, metode akan mengembalikan nilai yang sama dengan STIntersects() ketika dipanggil dengan parameter yang sama.

Syntax

  
.Filter ( other_geometry )  

Arguments

other_geometry
Adalah instans geometri lain untuk dibandingkan dengan instans tempat Filter() dipanggil.

Jenis Kembalian

Jenis pengembalian SQL Server: bit

Jenis pengembalian CLR: SqlBoolean

Remarks

Metode ini tidak deterministik dan tidak tepat.

Examples

Contoh berikut menggunakan Filter() untuk menentukan apakah dua geometry instans saling bersinggungan.

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

Lihat Juga

Metode yang Diperluas pada Instans Geometri
STIntersects (Jenis Data geometri)