几何类定义层次结构如下:
Geometry(不可实例化)Point(可实例化)Curve(不可实例化)LineString(可实例化)LineLinearRing
Surface(不可实例化)Polygon(可实例化)
GeometryCollection(可实例化)MultiPoint(可实例化)MultiCurve(不可实例化)MultiLineString(可实例化)
MultiSurface(不可实例化)MultiPolygon(可实例化)
无法在不可实例化的类中创建对象。可以在可实例化类中创建对象。所有的类都有属性,可实例化的类也可能有断言(定义有效类实例的规则)。
Geometry是基类。它是一个抽象类。的可实例化子类
Geometry仅限于存在于二维坐标空间中的零维、一维和二维几何对象。所有可实例化的几何类都已定义,因此几何类的有效实例在拓扑上是封闭的(即,所有已定义的几何都包含它们的边界)。
基Geometry类有
Point、Curve、
Surface和
的子类GeometryCollection:
Point表示零维对象。Curve表示一维对象,并且有子类LineString,子类Line和LinearRing。Surface专为二维对象设计并具有子类Polygon。GeometryCollectionMultiPoint具有名为、MultiLineString和 的专门零维、一维和二维集合类 ,用于分别MultiPolygon对应于 、 和 的集合的Points建模LineStrings几何Polygons.MultiCurve并MultiSurface作为抽象超类引入,这些超类概括了集合接口以处理Curves和Surfaces。
Geometry, Curve,
Surface, MultiCurve, 和
MultiSurface被定义为不可实例化的类。它们为它们的子类定义了一组通用的方法,并包含在内以实现可扩展性。
Point, LineString,
Polygon,
GeometryCollection,
MultiPoint,
MultiLineString, 和
MultiPolygon是可实例化的类。