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


MySQL 8.0 リファレンスマニュアル  /  ...  /  空間関数による引数処理

12.17.2 空間関数による引数処理

空間値 (ジオメトリ) には、セクション11.4.2.2「Geometry クラス」 で説明されているプロパティがあります。 次の説明では、空間関数の一般的な引数処理特性を一覧表示します。 特定の関数または関数のグループは、これらの関数の説明が発生するセクションで説明されているように、追加または異なる引数処理特性を持つことができます。 true の場合、これらの説明はここでの一般的な説明よりも優先されます。

空間関数は、有効なジオメトリ値に対してのみ定義されています。 セクション11.4.4「ジオメトリの整形式と妥当性」を参照してください。

各ジオメトリ値は、地理的位置の座標ベースのシステムである空間参照システム (SRS) に関連付けられています。 セクション11.4.5「空間参照システムのサポート」を参照してください。

ジオメトリの空間参照識別子 (SRID) は、ジオメトリが定義されている SRS を識別します。 MySQL の SRID 値は、ジオメトリ値に関連付けられた整数です。 使用可能な SRID の最大値は 232−1 です。 より大きな値が指定されると、低位の 32 ビットだけが使用されます。

SRID 0 は、軸に単位が割り当てられていない無限平坦なデカルト平面を表します。 SRID 0 の動作を保証するには、SRID 0 を使用してジオメトリ値を作成します。 SRID 0 は、SRID が指定されていない場合の新しいジオメトリ値のデフォルトです。

複数のジオメトリ値の計算では、すべての値が同じ SRS 内にある必要があり、そうでない場合はエラーが発生します。 したがって、複数のジオメトリ引数を取る空間関数では、それらの引数が同じ SRS 内にある必要があります。 空間関数が ER_GIS_DIFFERENT_SRIDS を戻す場合、ジオメトリ引数がすべて同じ SRS 内にあったわけではありません。 SRS が同じになるように修正する必要があります。

空間関数によって生成されたジオメトリ値はジオメトリ引数の SRID を継承するため、空間関数によって戻されたジオメトリはジオメトリ引数の SRS と同一のものになります。

Open Geospatial Consortium ガイドラインでは、入力ポリゴンがすでに閉じられている必要があるため、閉じられていないポリゴンは閉じられるのではなく、無効として拒否されます。

MySQL では、有効な空のジオメトリのみが空のジオメトリコレクションの形式で表されます。 空のジオメトリコレクションの処理は次のとおりです: 空の WKT 入力ジオメトリコレクションを'GEOMETRYCOLLECTION()'として指定できます。 これは、空のジオメトリコレクションを生成する空間操作による出力 WKT でもあります。

ネストされたジオメトリコレクションの解析中に、コレクションがフラット化され、その基本コンポーネントが様々な GIS 操作で使用されて結果が計算されます。 これにより、ジオメトリデータの一意性を考慮する必要がなくなるため、ユーザーに柔軟性が向上します。 ネストされたジオメトリコレクションは、最初に明示的にフラット化しなくても、ネストされた GIS 関数コールから生成できます。


関連キーワード:  関数, 空間, ジオメトリ, SRID, 処理, 参照, ジオメトリコレクション, リファレンス, 一般, 作成