OpenGIS 仕様では以下の関数を定義していますが、これらは MySQL でまだ実装されていません。将来のリリースで実装される予定です。 実装されると、MBR ベースのサポートのみならず、空間分析の完全なサポートが提供されます。
これらの関数は、2 つのジオメトリ値
g1
および g2
で動作します。
Contains(g1,g2)
1 または 0
を返すことにより、g1
に
g2
が完全に含まれているかどうかを示す。
Crosses(g1,g2)
g1
が g2
と空間的にクロスする場合、1 を返す。
g1
が Polygon
または MultiPolygon
であるか、あるいは g2
が
Point
または
MultiPoint
である場合、NULL
を返す。
その他の場合は 0 を返す。
空間的にクロスするという表現は、以下のプロパティを持つ 2 つの指定されたジオメトリの関係を示す。
2 つのジオメトリは交差する。
交差した部分が単一のジオメトリとなり、そのジオメトリの次元は指定された 2 つのジオメトリの最大次元よりも1 つ小さくなる。
交差した部分は、指定された 2 つのジオメトリと等しくない。
Disjoint(g1,g2)
1 または 0
を返すことにより、g1
と
g2
が空間的に分離している(交差しない)かどうかを示す。
Equals(g1,g2)
1 または 0
を返すことにより、g1
と
g2
が空間的に等しいかどうかを示す。
Intersects(g1,g2)
1 または 0
を返すことにより、g1
と
g2
が空間的に交差するどうかを示す。
Overlaps(g1,g2)
1 または 0
を返すことにより、g1
と
g2
が空間的に重なるかどうかを示す。
空間的に重なる
という用語が使用されるのは、2
つのジオメトリの交差部分が単一のジオメトリになり、そのジオメトリは指定された
2
つのジオメトリと次元が一致するが、どちらのジオメトリとも等しくない場合である。
Touches(g1,g2)
1 または 0
を返すことにより、g1
と
g2
が空間的に接触するどうかを示す。2
つのジオメトリが空間的に接触するのは、ジオメトリ内部は交差しないが、一方のジオメトリの境界が他方のジオメトリの境界または内部と交差する場合である。
Within(g1,g2)
1 または 0
を返すことにより、g1
が
g2
に空間的に含まれているかどうかを示す。
2 つのジオメトリにおける任意の 2 Point の最短距離を倍精度の数値として返す。
1 または 0
を返すことにより、pattern_matrix
によって指定された空間関係が
g1
と g2
の間に存在するかどうかを示す。 引数が
NULL
である場合は −1 を返す。
パターン行列は文字列である。パターン行列については、この関数が実装された時点でここに記載する。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.