= Rules for determining feature types programatically = First we assume that 'analysis code' is presented with one or more files containing unknown feature(s). The code needs to determine what feature types are contained in those files. However this can't always be done by looking at a file in isolation, the code also must determine whether a feature is actually made up of data in several files. For example in atmospheric model output one timeslice of !GridSeriesFeature will look like a !GridFeature, yet it would be wrong to model this data as a collection of !GridFeatures. It should be a (collection of) !GridSeriesFeatures. The analysis code must therefore work out whether something that looks like a !GridFeature is actually part of a larger !GridSeriesFeature. == So the current* CSML coverage feature types are: == * Point * !PointSeries * Profile * !ProfileSeries * Grid * !GridSeries *currently under revision == So what are the defining characteristics of the domains of these features? == === Point: === The domain is a single position in space and time.So a point feature it will be a single point in a spatial reference system at a single time (which may or may not be recorded). === !PointSeries: === The domain for a Point Series is a trajectory, which is a series of points in space at a series of times. === Profile: === === !ProfileSeries: === === Grid: === The domain of a grid is defined by a set of axes in space and a single point in time. === !GridSeries: === The domain of a !GridSeries is definied by a set of axes in space at multiple points in time. == So can we make some rules that can be encoded? ==