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


12.15.7.3 LineString プロパティー関数

LineString は、Point 値で構成されます。LineString の特定の点を抽出したり、そこに含まれている点の数をカウントしたり、その長さを取得したりできます。

  • EndPoint(ls)

    LineStringls の終点である Point を返します。

    mysql> SET @ls = 'LineString(1 1,2 2,3 3)';
    mysql> SELECT AsText(EndPoint(GeomFromText(@ls)));
    +-------------------------------------+
    | AsText(EndPoint(GeomFromText(@ls))) |
    +-------------------------------------+
    | POINT(3 3)                          |
    +-------------------------------------+
  • GLength(ls)

    LineStringls の関連付けられた空間参照内の長さを示す倍精度数値を返します。

    mysql> SET @ls = 'LineString(1 1,2 2,3 3)';
    mysql> SELECT GLength(GeomFromText(@ls));
    +----------------------------+
    | GLength(GeomFromText(@ls)) |
    +----------------------------+
    |            2.8284271247462 |
    +----------------------------+

    GLength() は非標準名です。これは、OpenGIS の Length() 関数に対応します。(文字列値の長さを計算する既存の SQL 関数 Length() が存在します。)

  • IsClosed(ls)

    LineStringls が閉じており (つまり、その StartPoint() 値と EndPoint() 値が同じであり)、かつ単純である (同じ点を複数回通っていない) 場合は 1 を返します。ls が閉じていない場合は 0 を、NULL である場合は -1 を返します。

    mysql> SET @ls1 = 'LineString(1 1,2 2,3 3,2 2)';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> SET @ls2 = 'LineString(1 1,2 2,3 3,1 1)';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> SELECT IsClosed(GeomFromText(@ls1));
    +------------------------------+
    | IsClosed(GeomFromText(@ls1)) |
    +------------------------------+
    |                            0 |
    +------------------------------+
    1 row in set (0.00 sec)
    
    mysql> SELECT IsClosed(GeomFromText(@ls2));
    +------------------------------+
    | IsClosed(GeomFromText(@ls2)) |
    +------------------------------+
    |                            1 |
    +------------------------------+
    1 row in set (0.00 sec)
  • NumPoints(ls)

    LineStringls 内の Point オブジェクトの数を返します。

    mysql> SET @ls = 'LineString(1 1,2 2,3 3)';
    mysql> SELECT NumPoints(GeomFromText(@ls));
    +------------------------------+
    | NumPoints(GeomFromText(@ls)) |
    +------------------------------+
    |                            3 |
    +------------------------------+
  • PointN(ls,N)

    Linestringls 内の N 番目の Point を返します。点の番号は 1 から始まります。

    mysql> SET @ls = 'LineString(1 1,2 2,3 3)';
    mysql> SELECT AsText(PointN(GeomFromText(@ls),2));
    +-------------------------------------+
    | AsText(PointN(GeomFromText(@ls),2)) |
    +-------------------------------------+
    | POINT(2 2)                          |
    +-------------------------------------+
  • StartPoint(ls)

    LineStringls の始点である Point を返します。

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

User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.