11.4.2.1 几何类层次结构
几何类定义层次结构如下:
-
Geometry
(不可实例化) -
Point
(实例)Curve
(不可实例化)
-
LineString
(实例) -
Line
- `LinearRing`
Surface
(不可实例化)
-
Polygon
(实例)GeometryCollection
(实例)
-
MultiPoint
(实例)MultiCurve
(不可实例化)
-
MultiLineString
(实例)MultiSurface
(不可实例化)
-
MultiPolygon
(实例)
无法在非实例化类中创建对象。可以在实例化类中创建对象。所有类都具有属性,可实例化类也可能具有 assert(定义有效类实例的规则)。
Geometry
是 Base Class。这是一个抽象类。 Geometry
的可实例化子类被限制为存在于二维坐标空间中的零,一和二维几何对象。定义所有可实例化的几何类别,以便在拓扑上封闭该几何类别的有效实例(也就是说,所有定义的几何均包括其边界)。
基本Geometry
类具有Point
,Curve
,Surface
和GeometryCollection
的子类:
-
Point
代 table 零维对象。 -
Curve
代 table 一维对象,并具有子类别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
是可实例化的类。