A Hierarquia da Classe Geometry
As classes geometry definem uma hierarquia como a seguir:
Geometry(não-instanciável)Point(instanciável)Curve(não-instanciável)LineString(instanciável)LineLinearRing
Surface(não-instanciável)Polygon(instanciável)
GeometryCollection(instanciável)MultiPoint(instanciável)MultiCurve(não-instanciável)MultiLineString(instanciável)
MultiSurface(não-instanciável)MultiPolygon(instanciável)
Algumas destas classes são abstratas (não-instanciável). Isto é, não é possível criar um objeto desta classe. Outras classes são instanciáveis e objetos podem ser criados deles. Cada classe tem propriedades e podem ter declarações (regras que definem intâncias de classes válidas).
Geometry é a classe base. É uma classe abstrata (não-instanciável). As subclasses instanciáveis de Geometry são restritas a objetos geométricos de zero, uma e duas dimensões que existem no espeaço de coordenadas bidimensional. Todas as classes geométricas instanciáveis são definidas para que instâncias válidas da classe geometry são topologicamente fechados (isto é, todas as geometrias definidas incluem seus limites).
A classe base Geometry tem subclasses para Point, Curve, Surface e GeometryCollection:
Pointrepresentam objetos sem dimensão.Curverepresentam para objetos de uma dimensão, e tem a subclasseLineString, com subclassesLineeLinearRing.Surfaceé criado para objetos bidimensionais e tem a subclassePolygon.GeometryCollectiontem classes de coleção com zero-, uma- e duas-dimensões chamadasMultiPoint,MultiLineStringeMultiPolygonpara modelagem geométrica correspondente a coleções dePoints,LineStringsePolygonsrespectivamente.MultiCurveeMultiSurfacesão introduzidas como superclasses abastratas que generalizam a interface de coleção para tratarCurveseSurfaces.
Geometry, Curve, Surface, MultiCurve e MultiSurface são definidos como classes não instanciáveis. Eles definem em conjunto de métodos comuns para suas subclasses e incluidos por razões de extensabilidade.
Point, LineString, Polygon, GeometryCollection, MultiPoint, MultiLineString, MultiPolygon são classses instanciáveis.