STRelate (geometry データ型)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Microsoft Fabric SQL Database
任意の 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 パターンのマトリックス デバイスで受け付けることができる値にエンコードされます。
注釈
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****');