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.8 空間演算子関数

OpenGIS では、幾何図形を生成できる関数がいくつか提案されています。これらは、空間演算子を実装するように設計されています。

  • Buffer(g,d)

    幾何値 g からの距離が d の距離以下であるすべての点を表す幾何図形を返します。

    Buffer() は、多角形、複数多角形、および多角形または複数多角形を含む幾何図形コレクションに対して負の距離をサポートしています。点、複数点、ライン文字列、複数ライン文字列、および多角形または複数多角形を含まない幾何図形コレクションに対して、負の距離を含む Buffer()NULL を返します。

    Buffer() は、MySQL 5.6.1 で追加されました。

  • ST_Difference(g1, g2)

    幾何値 g1g2 の点集合の差集合を表す幾何図形を返します。

    mysql> SET @g1 = POINT(1,1), @g2 = POINT(2,2);
    mysql> SELECT AsText(ST_Difference(@g1, @g2));
    +---------------------------------+
    | AsText(ST_Difference(@g1, @g2)) |
    +---------------------------------+
    | POINT(1 1)                      |
    +---------------------------------+

    ST_Difference() は、MySQL 5.6.1 で追加されました。

  • ST_Intersection(g1, g2)

    幾何値 g1g2 の点集合の共通集合を表す幾何図形を返します。

    mysql> SET @g1 = GeomFromText('LineString(1 1, 3 3)');
    mysql> SET @g2 = GeomFromText('LineString(1 3, 3 1)');
    mysql> SELECT AsText(ST_Intersection(@g1, @g2));
    +-----------------------------------+
    | AsText(ST_Intersection(@g1, @g2)) |
    +-----------------------------------+
    | POINT(2 2)                        |
    +-----------------------------------+

    ST_Intersection() は、MySQL 5.6.1 で追加されました。

  • ST_SymDifference(g1, g2)

    幾何値 g1g2 の点集合の対称差を表す幾何図形を返します。これは、次のように定義されます。

    g1 symdifference g2 := (g1 union g2) difference (g1 intersection g2)

    または、関数呼び出しの表記では次のようになります。

    ST_SymDifference(g1, g2) = ST_Difference(ST_Union(g1, g2), ST_Intersection(g1, g2))
    mysql> SET @g1 = POINT(1,1), @g2 = POINT(2,2);
    mysql> SELECT AsText(ST_SymDifference(@g1, @g2));
    +-------------------------------------------+
    | AsText(ST_SymDifference(@g1, @g2))        |
    +-------------------------------------------+
    | GEOMETRYCOLLECTION(POINT(1 1),POINT(2 2)) |
    +-------------------------------------------+

    ST_SymDifference() は、MySQL 5.6.1 で追加されました。

  • ST_Union(g1, g2)

    幾何値 g1g2 の点集合の和集合を表す幾何図形を返します。

    mysql> SET @g1 = GeomFromText('LineString(1 1, 3 3)');
    mysql> SET @g2 = GeomFromText('LineString(1 3, 3 1)');
    mysql> SELECT AsText(ST_Union(@g1, @g2));
    +--------------------------------------+
    | AsText(ST_Union(@g1, @g2))           |
    +--------------------------------------+
    | MULTILINESTRING((1 1,3 3),(3 1,1 3)) |
    +--------------------------------------+

    ST_Union() は、MySQL 5.6.1 で追加されました。

さらに、セクション12.15.7「幾何プロパティー関数」では、既存の幾何図形から新しい幾何図形を構築するいくつかの関数について説明しています。これらの関数の説明については、そのセクションを参照してください。

  • Envelope(g)

  • StartPoint(ls)

  • EndPoint(ls)

  • PointN(ls,N)

  • ExteriorRing(poly)

  • InteriorRingN(poly,N)

  • GeometryN(gc,N)


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