次の方法で共有


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

参照

Geometry インスタンスの OGC メソッド