次の方法で共有


Filter (geography データ型)

インデックスが使用可能である場合に、geography インスタンスが別の geography インスタンスと交差するかどうかを判断する、高速のインデックス専用積集合メソッドを提供するメソッドです。

geography インスタンスが別の geography インスタンスと交差している可能性がある場合、1 を返します。 このメソッドは偽陽性の戻り値を生成する場合があり、正確な結果はプランによって異なります。 geography インスタンスの交差が見つからない場合は、正確な 0 値 (真陰性の戻り値) を返します。

インデックスが使用できない場合、または使用されていない場合、このメソッドは、同じパラメーターを使用して呼び出した場合の STIntersects() と同じ値を返します。

構文

.Filter ( other_geography )

引数

項目

定義

other_geography

Filter() を呼び出したインスタンスと比較される、別の geography インスタンスです。

戻り値の型

SQL Server の戻り値の型 :bit

CLR の戻り値の型 : SqlBoolean

説明

このメソッドは決定的でなく、正確ではありません。

使用例

Filter() を使用して 2 つの geography インスタンスが相互に交差しているかどうかを調べる例を次に示します。

コード

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;

関連項目

参照

STIntersects (geography データ型)

その他の技術情報

geography インスタンスの拡張メソッド