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