Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


12.15.9.1 オブジェクト形状を使用する空間関係関数

OpenGIS 仕様では、次の関数が定義されています。これらは、正確なオブジェクト形状を使用して、2 つの幾何値 g1g2 の間の関係をテストします。戻り値 1 と 0 は、それぞれ true と false を示します。

  • ST_Contains(g1,g2)

    g1g2 を完全に含んでいるかどうかを示す 1 または 0 を返します。これは、ST_Within() とは逆の関係をテストします。

  • ST_Crosses(g1,g2)

    g1g2 と空間的に交差している場合は 1 を返します。g1Polygon または MultiPolygon である場合、あるいは g2Point または MultiPoint である場合は NULL を返します。それ以外の場合は、0 を返します。

    空間的に交差しているという用語は、2 つの指定された幾何図形間の空間関係が次の性質を持っていることを示します。

    • 2 つの幾何図形が交差している

    • それらの交差によって、2 つの指定された幾何図形の最大の次元より 1 つ小さい次元を持つ幾何図形が生成される

    • それらの交差が 2 つの指定された幾何図形のどちらとも等しくない

  • ST_Disjoint(g1,g2)

    g1g2 と空間的に切り離されている (交差していない) かどうかを示す 1 または 0 を返します。

  • ST_Distance(g1,g2)

    g1g2 の間の距離を返します。

    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 で追加されました。

  • ST_Equals(g1,g2)

    g1g2 と空間的に等しいかどうかを示す 1 または 0 を返します。

  • ST_Intersects(g1,g2)

    g1g2 と空間的に交差しているかどうかを示す 1 または 0 を返します。

  • ST_Overlaps(g1,g2)

    g1g2 と空間的にオーバーラップしているかどうかを示す 1 または 0 を返します。空間的にオーバーラップしているという用語が使用されるのは、2 つの幾何図形が交差しており、かつそれらの交差によって同じ次元の幾何図形が生成されるが、指定された幾何図形のどちらとも等しくない場合です。

  • ST_Touches(g1,g2)

    g1g2 に空間的に接しているかどうかを示す 1 または 0 を返します。2 つの幾何図形が空間的に接しているのは、これらの幾何図形の内部は交差していないが、一方の幾何図形の境界が他方の幾何図形の境界または内部と交差している場合です。

  • ST_Within(g1,g2)

    g1 が空間的に g2 の内部にあるかどうかを示す 1 または 0 を返します。これは、ST_Contains() とは逆の関係をテストします。


User Comments
Sign Up Login You must be logged in to post a comment.