次の方法で共有


STRelate (geometry データ型)

任意の geometry インスタンスと別の geometry インスタンスとの間になんらかの関係がある場合は 1 を返します。ここでの関係は、Dimensionally Extended 9 Intersection Model (DE-9IM) パターンのマトリックス値で定義されます。関係がない場合は 0 を返します。

構文

.STRelate ( other_geometry, intersection_pattern_matrix )

引数

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

  • intersection_pattern_matrix
    nchar(9) 型の文字列です。2 つの geometry インスタンスの間にある、DE-9IM パターンのマトリックス デバイスで受け付けることができる値にエンコードされます。

説明

2 つの geometry インスタンスの SRID (spatial reference ID) が一致しない場合、このメソッドは常に NULL を返します。このメソッドは、マトリックスが整形式でない場合に、ArgumentException をスローします。

戻り値の型

SQL Server の戻り値の型 : bit

CLR の戻り値の型 : SqlBoolean

STRelate() を使用して、空間的に連結されていない 2 つの geometry インスタンスが明示的に DE-9IM パターンを使用しているかどうかをテストする例を次に示します。

DECLARE @g geometry;
DECLARE @h geometry;
SET @g = geometry::STGeomFromText('LINESTRING(0 2, 2 0, 4 2)', 0);
SET @h = geometry::STGeomFromText('POINT(5 5)', 0);
SELECT @g.STRelate(@h, 'FF*FF****');

関連項目

その他の技術情報