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


11.4.2.1 ジオメトリクラスの階層

ジオメトリクラスの階層は次のように定義されています。

  • Geometry (インスタンス化不可能)

    • Point (インスタンス化可能)

    • Curve (インスタンス化不可能)

      • LineString (インスタンス化可能)

        • Line

        • LinearRing

    • Surface (インスタンス化不可能)

      • Polygon (インスタンス化可能)

    • GeometryCollection (インスタンス化可能)

      • MultiPoint (インスタンス化可能)

      • MultiCurve (インスタンス化不可能)

        • MultiLineString (インスタンス化可能)

      • MultiSurface (インスタンス化不可能)

        • MultiPolygon (インスタンス化可能)

インスタンス化不可能なクラスのオブジェクトは作成できません。 インスタンス化可能なクラスのオブジェクトは作成できます。 どのクラスもプロパティーを持ちますが、インスタンス化可能なクラスはさらに表明 (有効なクラスインスタンスを定義するルール) も持つことができます。

Geometry は基本クラスです。 これは抽象クラスです。 Geometry のインスタンス化可能なサブクラスは、2 次元座標空間内に存在する 0 次元、1 次元、および 2 次元のジオメトリオブジェクトに限定されます。 インスタンス化可能なジオメトリクラスはすべて、ジオメトリクラスの有効なインスタンスが位相的に閉じている (つまり、定義されたすべてのジオメトリに境界が含まれる) ように定義されています。

Geometry 基本クラスには、PointCurveSurface、および GeometryCollection のサブクラスがあります。

  • Point は 0 次元のオブジェクトを表します。

  • Curve は 1 次元のオブジェクトを表し、そのサブクラス LineString は、LineLinearRing をサブクラスに持ちます。

  • Surface は 2 次元のオブジェクト用に設計されたもので、Polygon をサブクラスに持ちます。

  • GeometryCollection には MultiPointMultiLineStringMultiPolygon という 0、1、2 次元の特殊化コレクションクラスが用意されており、それぞれ PointsLineStringsPolygons のコレクションに対応するジオメトリをモデル化しています。 MultiCurveMultiSurface は、このコレクションインタフェースを汎化して Curves および Surfaces を処理できるよう抽象スーパークラスとして導入されたものです。

GeometryCurveSurfaceMultiCurve、および MultiSurface は、インスタンス化不可能なクラスとして定義されています。 これらはサブクラスに共通する一連のメソッドを定義しており、今後の拡張に含められます。

PointLineStringPolygonGeometryCollectionMultiPointMultiLineString、および MultiPolygon はインスタンス化可能なクラスです。


関連キーワード:  クラス, 空間, ジオメトリクラス, Geometry, 定義, 数値, Point, GeometryCollection, オブジェクト, 階層