このページは機械翻訳したものです。
ジオメトリクラスの階層は次のように定義されています。
-
Geometry(インスタンス化不可能)Point(インスタンス化可能)-
Curve(インスタンス化不可能)-
LineString(インスタンス化可能)LineLinearRing
-
-
Surface(インスタンス化不可能)Polygon(インスタンス化可能)
-
GeometryCollection(インスタンス化可能)MultiPoint(インスタンス化可能)-
MultiCurve(インスタンス化不可能)MultiLineString(インスタンス化可能)
-
MultiSurface(インスタンス化不可能)MultiPolygon(インスタンス化可能)
インスタンス化不可能なクラスのオブジェクトは作成できません。 インスタンス化可能なクラスのオブジェクトは作成できます。 どのクラスもプロパティーを持ちますが、インスタンス化可能なクラスはさらに表明 (有効なクラスインスタンスを定義するルール) も持つことができます。
Geometry は基本クラスです。 これは抽象クラスです。 Geometry のインスタンス化可能なサブクラスは、2 次元座標空間内に存在する 0 次元、1 次元、および 2 次元のジオメトリオブジェクトに限定されます。 インスタンス化可能なジオメトリクラスはすべて、ジオメトリクラスの有効なインスタンスが位相的に閉じている (つまり、定義されたすべてのジオメトリに境界が含まれる) ように定義されています。
Geometry 基本クラスには、Point、Curve、Surface、および GeometryCollection のサブクラスがあります。
Pointは 0 次元のオブジェクトを表します。Curveは 1 次元のオブジェクトを表し、そのサブクラスLineStringは、LineとLinearRingをサブクラスに持ちます。Surfaceは 2 次元のオブジェクト用に設計されたもので、Polygonをサブクラスに持ちます。GeometryCollectionにはMultiPoint、MultiLineString、MultiPolygonという 0、1、2 次元の特殊化コレクションクラスが用意されており、それぞれPoints、LineStrings、Polygonsのコレクションに対応するジオメトリをモデル化しています。MultiCurveとMultiSurfaceは、このコレクションインタフェースを汎化してCurvesおよびSurfacesを処理できるよう抽象スーパークラスとして導入されたものです。
Geometry、Curve、Surface、MultiCurve、および MultiSurface は、インスタンス化不可能なクラスとして定義されています。 これらはサブクラスに共通する一連のメソッドを定義しており、今後の拡張に含められます。
Point、LineString、Polygon、GeometryCollection、MultiPoint、MultiLineString、および MultiPolygon はインスタンス化可能なクラスです。