几何类定义层次结构如下:
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
是可实例化的类。