The geometry classes define a hierarchy as follows:
            Geometry (noninstantiable)
          
                Point (instantiable)
              
                Curve (noninstantiable)
              
                    LineString (instantiable)
                  
                        Line
                      
                        LinearRing
                      
                Surface (noninstantiable)
              
                    Polygon (instantiable)
                  
                GeometryCollection (instantiable)
              
                    MultiPoint (instantiable)
                  
                    MultiCurve (noninstantiable)
                  
                        MultiLineString
                        (instantiable)
                      
                    MultiSurface (noninstantiable)
                  
                        MultiPolygon (instantiable)
                      
It is not possible to create objects in noninstantiable classes. It is possible to create objects in instantiable classes. All classes have properties, and instantiable classes may also have assertions (rules that define valid class instances).
        Geometry is the base class. It is an abstract
        class. The instantiable subclasses of
        Geometry are restricted to zero-, one-, and
        two-dimensional geometric objects that exist in two-dimensional
        coordinate space. All instantiable geometry classes are defined
        so that valid instances of a geometry class are topologically
        closed (that is, all defined geometries include their boundary).
      
        The base Geometry class has subclasses for
        Point, Curve,
        Surface, and
        GeometryCollection:
      
            Point represents zero-dimensional
            objects.
          
            Curve represents one-dimensional objects,
            and has subclass LineString, with
            sub-subclasses Line and
            LinearRing.
          
            Surface is designed for two-dimensional
            objects and has subclass Polygon.
          
            GeometryCollection has specialized zero-,
            one-, and two-dimensional collection classes named
            MultiPoint,
            MultiLineString, and
            MultiPolygon for modeling geometries
            corresponding to collections of Points,
            LineStrings, and
            Polygons, respectively.
            MultiCurve and
            MultiSurface are introduced as abstract
            superclasses that generalize the collection interfaces to
            handle Curves and
            Surfaces.
          
        Geometry, Curve,
        Surface, MultiCurve, and
        MultiSurface are defined as noninstantiable
        classes. They define a common set of methods for their
        subclasses and are included for extensibility.
      
        Point, LineString,
        Polygon,
        GeometryCollection,
        MultiPoint,
        MultiLineString, and
        MultiPolygon are instantiable classes.
      

User Comments
Useful for 3D work - if you're doing any mapping apps, check out http://mapguide.osgeo.org/ - lots of resources and discussion threads, help there.
Add your own comment.