Grid


superclasses:

CellularStructure

attributes:

positionOfOrigin Point

orderAndOrigin GridReference

spacing GridFramework

[cellGeometry] CellGeometry

restricted:

positionOfOrigin : ^Point

defaults:

cellGeometry.cellShape : rectangle

orderAndOrigin.ordering : rowOrder

orderAndOrigin.originCorner : nw

orderAndOrigin.cellPositionAtCorner : true

orderAndOrigin.originCoordinates{} : 1

spacing.offsetStructure : none

comments:

A variety of rectangular, triangular and hexagonal gridded structures are supported. Rectangular grids can be defined in two (x,y), three (x,y,z) or (x,y,t), or four (x,y,z,t) dimensions. Triangular and hexagonal grids are always assumed to be planar (i.e., two spatial dimensions), stacked versions of these two dimensional structures to define honeycombs for example, or even four dimensional structures, with time as the fourth dimension. In such cases the first two dimensions have a triangular or hexagonal structure, and the third and possibly fourth dimensions have a regular orthogonal structure.

positionOfOrigin: the real world position of the the local origin (i.e. starting point) of the grid is given by positionOfOrigin. For example, with typical satellite imagery, this point corresponds to the position on the earth of the upper left hand corner of the image, corresponding to the northwest corner of the first cell in the image.

orderAndOrigin: four items are specified through the complex domain GridReference: (i), whether the structure follows a row order, a column order, a boustrophedon ordering in the horizontal direction, or a boustrophedon ordering in the vertical direction; (ii), the corner of the grid to which the positionOfOrigin refers, e.g. northwest or southwest corner, (iii), whether the positionOfOrigin pertains to the centre or the corner of the cell to which positionOfOrigin is referenced; (iv), the grid coordinates of that cell, such as (1,1) or (0,0), or any arbitrary integers if the grid in question is located with respect to a larger grid.

spacing: four items are specified through the complex domain GridFramework: (i), the grid dimensions (number of columns, rows, etc.); (ii), the spacing (e.g. in metres or degrees) between grid locations in each dimension; (iii), the type of real world units (e.g. metres or seconds) corresponding to the grid spacing values given above; and (iv), whether a regular or offset structure applies (the latter is the case with triangular or hexagonal grids).

cellGeometry: if cellGeometry is not specified, the cell dimensions are assumed to correspond exactly to the spacing of the grid framework, and the units and shape of the cell geometry are as given in the defaults above. This describes the typical situation. However, the cellGeometry does not have to fit precisely in the grid. The cells may be larger than the grid spacing, in which case they overlap, or smaller, in which case the grid is not space filling. The cells may be rectangular (or square) or elliptical (or circular) in n-dimensional space, or triangular or hexagonal in two dimensional space.

Subclasses have been included to provide formal restricted Grid definitions for many of the most common uses of cellular structures. Many other structures exist for which formal definitions have not been included.

SAIF provides support for rectangular gridded structures in two and three dimensions. As indicated above, it also allows specification of triangular and hexagonal gridded structures in two dimensions. With triangular and hexagonal structures there exists a set of three primary axes, which may be as compass directions either (i) 30 - 210, 90 - 270, and 150 - 330, or alternatively, (ii) 0 - 180, 60 - 240, and 120 - 300. The first case corresponds to triangles arranged in horizontal layers (and hexagons stacked vertically); in the second case the triangles are stacked in vertical columns (and the hexagons are arranged in horizontal layers).

For example, horizontal layering of hexagons (case two above) would be indicated by specifying:

cellGeometry.cellShape:hexagon

orderAndOrigin.ordering:rowOrder

orderAndOrigin.originCorner:nw

orderAndOrigin.cellPositionAtCorner:false

spacing.offsetStructure:in


Links to Section 3.2 and the complete SAIF class list