OpenGIS
の仕様書では次の関数が定義されています。これらは、2
つの幾何値 g1
と
g2
の間の関係をテストします。
戻り値 1 と 0 はそれぞれ true と false を示します。
現在のところ、MySQL
ではこれらの関数は仕様に準拠した形で実装されていません。実装されている関数は、対応する
MBR
ベースの関数と同じ結果を返します。次に記載している関数のうち、Distance()
と Related()
以外のものがそれに該当します。
将来のリリースでは、これらの関数で単なる MBR ベースのサポートではなく空間分析の完全なサポートが実装される可能性があります。
g1
が
g2
を完全に含んでいるかどうかを示す、1
または 0
を返します。これは、Within()
とは逆の関係をテストします。
g1
が
g2
と空間的にクロスしている場合は 1
を返します。g1
が Polygon
または
MultiPolygon
の場合、あるいは g2
が
Point
または
MultiPoint
の場合には、NULL
を返します。それ以外の場合は 0
を返します。
「空間的にクロスする」という用語は、指定された 2 つの幾何図形間の空間関係が次のような特徴を持つことを示しています。
2 つの幾何図形が交差している
その交差の結果となる幾何図形が、指定された 2 つの幾何図形の最大次元よりも 1 つ小さい次元を持つ
その交差集合が、指定された 2 つの幾何図形のどちらとも等しくない
g1
と
g2
が空間的に離れている (交差していない)
かどうかを示す、1 または 0 を返します。
2 つの幾何図形上の任意の 2 点間の最短距離を、倍精度数値として返します。
g1
と
g2
が空間的に等しいかどうかを示す、1
または 0 を返します。
g1
と
g2
が空間的に交差しているかどうかを示す、1
または 0 を返します。
g1
と
g2
が空間的にオーバーラップしているかどうかを示す、1
または 0
を返します。「空間的にオーバーラップする」という用語が使用されるのは、2
つの幾何図形が交差しており、かつその交差の結果となる幾何図形がその指定された幾何図形と同じ次元を持つが、そのどちらとも等しくならないような場合です。
g1
と
g2
の間に
pattern_matrix
に指定された空間関係が存在しているかどうかを示す、1
または 0 を返します。引数が
NULL
の場合は
–1
を返します。パターン行列は文字列です。その仕様は、この関数が実装された場合にここに記載します。
g1
と
g2
が空間的に接しているかどうかを示す、1
または 0 を返します。2
つの幾何図形が「空間的に接している」のは、幾何図形の内部は交差していないが、その一方の境界が他方の境界、内部のいずれかと交差しているような場合です。
g1
が
g2
に空間的に含まれているかどうかを示す、1
または 0
を返します。これは、Contains()
とは逆の関係をテストします。