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****');