Each point has a given position which may or may not be known. If it is known, it can be specified through an object belonging to the class Coordinate. Several types of coordinates are recognized, corresponding to subclasses of Coordinate. Positions in space can be established using CoordX, CoordXY, and CoordXYZ. For example, any position defined by two spatial dimensions is considered to come from CoordXY, regardless of the coordinate system, projection, etc.
SAIF also addresses time in the coordinate hierarchy. In addition to CoordX, CoordXY, and CoordXYZ, CoordT is also a direct subclass of Coordinate. CoordXT is defined through multiple inheritance as a subclass of both CoordX and CoordT. CoordXYT is a subclass of CoordXY and CoordT, and CoordXYZT is a subclass of CoordXYZ and CoordT.
Users are not permitted to define new subclasses of Coordinate.
2.4.6 SpatiotemporalObject
A spatial object is composed of a geometric object (e.g. point or polygon) and spatial referencing. A temporal object is composed of a time object (e.g. time or date) and temporal referencing. The class SpatiotemporalObject is defined as a subclass of both SpatialObject and TemporalObject. Consequently, a member of SpatiotemporalObject includes objects belonging to the following classes: GeometricObject, SpatialReferencing, TimeObject, and TemporalReferencing.
Time may be specified as part of a coordinate. Since geometry contains coordinates, time may be included directly in the geometry. This is practical where the geographic object occurs at a single point specified for example in terms of an (x,y,t) coordinate. Time may also be specified independently as a value for TimeObject. If the geographic object is an areal feature, then defining every point on a polygon's boundary with an (x,y,t) coordinate is inappropriate. Instead, (x,y) coordinates should be used and a value for TimeObject should be provided.
Users are not permitted to define new subclasses of SpatiotemporalObject,TemporalObject or TimeObject.