13.4.2.1 几何类层次结构
几何类定义了以下层次结构:
-
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
被定义为不可实例化的类。它们定义了公共方法集,并且是为了扩展性而包含的。
点
线字符串
多边形
几何集合
多点
多线字符串
和多多边形
是可实例化的类。