OpenGIS 仕様では、次の関数が定義されています。これらは、正確なオブジェクト形状を使用して、2 つの幾何値 g1
と g2
の間の関係をテストします。戻り値 1 と 0 は、それぞれ true と false を示します。
-
g1
がg2
を完全に含んでいるかどうかを示す 1 または 0 を返します。これは、ST_Within()
とは逆の関係をテストします。 -
g1
がg2
と空間的に交差している場合は 1 を返します。g1
がPolygon
またはMultiPolygon
である場合、あるいはg2
がPoint
またはMultiPoint
である場合はNULL
を返します。それ以外の場合は、0 を返します。空間的に交差しているという用語は、2 つの指定された幾何図形間の空間関係が次の性質を持っていることを示します。
2 つの幾何図形が交差している
それらの交差によって、2 つの指定された幾何図形の最大の次元より 1 つ小さい次元を持つ幾何図形が生成される
それらの交差が 2 つの指定された幾何図形のどちらとも等しくない
-
g1
がg2
と空間的に切り離されている (交差していない) かどうかを示す 1 または 0 を返します。 -
g1
とg2
の間の距離を返します。mysql> SET @g1 = POINT(1,1), @g2 = POINT(2,2); mysql> SELECT ST_Distance(@g1, @g2); +-----------------------+ | ST_Distance(@g1, @g2) | +-----------------------+ | 1.4142135623730951 | +-----------------------+
ST_Distance()
は、MySQL 5.6.1 で追加されました。 -
g1
がg2
と空間的に等しいかどうかを示す 1 または 0 を返します。 -
g1
がg2
と空間的に交差しているかどうかを示す 1 または 0 を返します。 -
g1
がg2
と空間的にオーバーラップしているかどうかを示す 1 または 0 を返します。空間的にオーバーラップしているという用語が使用されるのは、2 つの幾何図形が交差しており、かつそれらの交差によって同じ次元の幾何図形が生成されるが、指定された幾何図形のどちらとも等しくない場合です。 -
g1
がg2
に空間的に接しているかどうかを示す 1 または 0 を返します。2 つの幾何図形が空間的に接しているのは、これらの幾何図形の内部は交差していないが、一方の幾何図形の境界が他方の幾何図形の境界または内部と交差している場合です。 -
g1
が空間的にg2
の内部にあるかどうかを示す 1 または 0 を返します。これは、ST_Contains()
とは逆の関係をテストします。