幾何類別定義了一個階層如下:
Geometry
(不可實例化)Point
(可實例化)Curve
(不可實例化)LineString
(可實例化)Line
LinearRing
Surface
(不可實例化)Polygon
(可實例化)
GeometryCollection
(可實例化)MultiPoint
(可實例化)MultiCurve
(不可實例化)MultiLineString
(可實例化)
MultiSurface
(不可實例化)MultiPolygon
(可實例化)
無法在不可實例化的類別中建立物件。可以在可實例化的類別中建立物件。所有類別都有屬性,而可實例化的類別也可能具有斷言(定義有效類別實例的規則)。
Geometry
是基礎類別。它是一個抽象類別。Geometry
的可實例化子類別限制為存在於二維座標空間中的零維、一維和二維幾何物件。所有可實例化的幾何類別都經過定義,因此幾何類別的有效實例在拓撲上是封閉的(也就是說,所有定義的幾何都包含其邊界)。
基礎 Geometry
類別具有 Point
、Curve
、Surface
和 GeometryCollection
的子類別
Point
代表零維物件。Curve
代表一維物件,並具有子類別LineString
,以及子子類別Line
和LinearRing
。Surface
專為二維物件設計,並具有子類別Polygon
。GeometryCollection
具有特殊的零維、一維和二維集合類別,分別名為MultiPoint
、MultiLineString
和MultiPolygon
,用於為對應於Points
、LineStrings
和Polygons
集合的幾何圖形建模。MultiCurve
和MultiSurface
作為抽象父類別引入,概括了集合介面以處理Curves
和Surfaces
。
Geometry
、Curve
、Surface
、MultiCurve
和 MultiSurface
定義為不可實例化的類別。它們為其子類別定義了一組常見方法,並為了可擴充性而包含在內。
Point
、LineString
、Polygon
、GeometryCollection
、MultiPoint
、MultiLineString
和 MultiPolygon
是可實例化的類別。