MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  WKT 値からジオメトリ値を作成する関数

12.17.3 WKT 値からジオメトリ値を作成する関数

これらの関数は、引数として Well-Known Text (WKT) 表現と、オプションで空間参照システム識別子 (SRID) を受け取ります。 これらは、対応するジオメトリを返します。 WKT 形式については、WKT (Well-Known Text) 形式を参照してください。

このセクションの関数は、デカルトまたは地理空間参照システム (SRS) の引数を検出し、SRS に適した結果を戻します。

ST_GeomFromText() は、ジオメトリタイプの WKT 値を最初の引数として受け入れます。 その他の関数は、各ジオメトリ型のジオメトリ値の構築のための型固有の構築関数を提供します。

MultiPoint 値の WKT 形式表現を受け入れる ST_MPointFromText()ST_GeomFromText() などの関数では、値内の個々のポイントをカッコで囲むことができます。 たとえば、次の関数コールは両方とも有効です:

ST_MPointFromText('MULTIPOINT (1 1, 2 2, 3 3)')
ST_MPointFromText('MULTIPOINT ((1 1), (2 2), (3 3))')

WKT ジオメトリコレクション引数を受け入れる ST_GeomFromText() などの関数は、OpenGIS 'GEOMETRYCOLLECTION EMPTY'標準構文と MySQL 'GEOMETRYCOLLECTION()'非標準構文の両方を理解します。 WKT 値を生成する ST_AsWKT() などの関数は、'GEOMETRYCOLLECTION EMPTY'標準構文を生成します:

mysql> SET @s1 = ST_GeomFromText('GEOMETRYCOLLECTION()');
mysql> SET @s2 = ST_GeomFromText('GEOMETRYCOLLECTION EMPTY');
mysql> SELECT ST_AsWKT(@s1), ST_AsWKT(@s2);
+--------------------------+--------------------------+
| ST_AsWKT(@s1)            | ST_AsWKT(@s2)            |
+--------------------------+--------------------------+
| GEOMETRYCOLLECTION EMPTY | GEOMETRYCOLLECTION EMPTY |
+--------------------------+--------------------------+

特に指定がないかぎり、このセクションの関数はジオメトリ引数を次のように処理します:

  • ジオメトリ引数が NULL の場合、構文的に整形式のジオメトリでない場合、または SRID 引数が NULL の場合、戻り値は NULL です。

  • デフォルトでは、地理座標 (緯度、経度) は、ジオメトリ引数の空間参照システムで指定された順序で解釈されます。 オプションの options 引数を指定して、デフォルトの軸の順序をオーバーライドできます。options は、カンマ区切りの key=value のリストで構成されます。 許可されている key 値は axis-order のみで、lat-longlong-lat および srid-defined (デフォルト) の値が許可されています。

    options 引数が NULL の場合、戻り値は NULL です。 options 引数が無効な場合は、理由を示すエラーが発生します。

  • SRID 引数が未定義の空間参照システム (SRS) を参照すると、ER_SRS_NOT_FOUND エラーが発生します。

  • 地理 SRS ジオメトリ引数で、範囲外の経度または緯度を持つ引数がある場合、エラーが発生します:

    • 経度の値が (−180, 180]の範囲にない場合は、ER_LONGITUDE_OUT_OF_RANGE エラーが発生します。

    • 緯度の値が[−90, 90]の範囲にない場合は、ER_LATITUDE_OUT_OF_RANGE エラーが発生します。

    表示される範囲は度数です。 SRS で別の単位が使用されている場合、範囲ではその単位に対応する値が使用されます。 浮動小数点演算のため、正確な範囲制限はわずかに偏差します。

WKT 値からジオメトリを作成するには、次の関数を使用できます:

  • ST_GeomCollFromText(wkt [, srid [, options]]), ST_GeometryCollectionFromText(wkt [, srid [, options]]), ST_GeomCollFromTxt(wkt [, srid [, options]])

    WKT 表現と SRID を使用して GeometryCollection 値を構築します。

    これらの関数は、このセクションの概要で説明されているように、引数を処理します。

    mysql> SET @g = "MULTILINESTRING((10 10, 11 11), (9 9, 10 10))";
    mysql> SELECT ST_AsText(ST_GeomCollFromText(@g));
    +--------------------------------------------+
    | ST_AsText(ST_GeomCollFromText(@g))         |
    +--------------------------------------------+
    | MULTILINESTRING((10 10,11 11),(9 9,10 10)) |
    +--------------------------------------------+
  • ST_GeomFromText(wkt [, srid [, options]]), ST_GeometryFromText(wkt [, srid [, options]])

    WKT 表現と SRID を使用して任意の型のジオメトリ値を構築します。

    これらの関数は、このセクションの概要で説明されているように、引数を処理します。

  • ST_LineFromText(wkt [, srid [, options]]), ST_LineStringFromText(wkt [, srid [, options]])

    WKT 表現と SRID を使用して LineString 値を構築します。

    これらの関数は、このセクションの概要で説明されているように、引数を処理します。

  • ST_MLineFromText(wkt [, srid [, options]]), ST_MultiLineStringFromText(wkt [, srid [, options]])

    WKT 表現と SRID を使用して MultiLineString 値を構築します。

    これらの関数は、このセクションの概要で説明されているように、引数を処理します。

  • ST_MPointFromText(wkt [, srid [, options]]), ST_MultiPointFromText(wkt [, srid [, options]])

    WKT 表現と SRID を使用して MultiPoint 値を構築します。

    これらの関数は、このセクションの概要で説明されているように、引数を処理します。

  • ST_MPolyFromText(wkt [, srid [, options]]), ST_MultiPolygonFromText(wkt [, srid [, options]])

    WKT 表現と SRID を使用して MultiPolygon 値を構築します。

    これらの関数は、このセクションの概要で説明されているように、引数を処理します。

  • ST_PointFromText(wkt [, srid [, options]])

    WKT 表現と SRID を使用して Point 値を構築します。

    ST_PointFromText() は、このセクションの概要で説明されているように引数を処理します。

  • ST_PolyFromText(wkt [, srid [, options]]), ST_PolygonFromText(wkt [, srid [, options]])

    WKT 表現と SRID を使用して Polygon 値を構築します。

    これらの関数は、このセクションの概要で説明されているように、引数を処理します。


関連キーワード:  関数, srid, 空間, ジオメトリ, 処理, 表現, セクション, 構築, SRID, 概要