Matrix Class Requirements Class: Block Components Package Requirements Class

OGC 08-094r1 SWE Common Data Model Whether an instance of the “Matrix” class represents a position matrix or not should be disambiguated by setting the value of its “definition” attribute. Examples The “Matrix” class can be used to represent for instance: - A 3D 3x3 stress tensor - A 4D 4x4 homogeneous affine transformation matrix In particular it is often used to specify the orientation of an object relative to another one, like for instance the attitude of a plane relative to the earth.

7.5.3 DataStream Class

The “DataStream” class has a structure similar than the “DataArray” class but is not a data component i.e. it does not derive from “AbstractDataComponent” and thus cannot be used as a child of other aggregate components. Below is its UML diagram: AbstractSWE «Type» Basic Types::AbstractSWEIdentifiable «property» + identifier: ScopedName [0..1] + label: CharacterString [0..1] + description: CharacterString [0..1] «Type» DataStream «property» + elementCount: Count [0..1] + elementType: AbstractDataComponent + encoding: AbstractEncoding + values: EncodedValues Figure 7.31 – DataStream Class This class should be used as the wrapper object to define a complete data stream. It defines a data stream as containing a list of elements with an arbitrary complex structure. An important feature is that the data stream can be open ended i.e. the number of elements is not known in advance and is thus designed to support real time streaming of data. The “elementCount” attribute is optional and can be used to indicate the number of elements in the stream if it is known. This is done by instantiating an instance of the “Count” class whose “value” attribute would be set to the number of elements. The “elementType” attribute is used to define the structure of each element in the stream. The data component used as the element type and all of its children shall be used solely 56 Copyright © 2011 Open Geospatial Consortium SWE Common Data Model OGC 08-094r1 as data descriptors, meaning that they shall not include any inline values. These values will instead be block encoded in the “values” attribute of the parent “DataStream”. The “encoding” and “values” fields are there to provide the stream values as an efficient block which can be encoded in several ways. The same encoding methods as for the “DataArray” class are available and are described in clauses 7.6 and 7.7. Requirement http:www.opengis.netspecSWE2.0requml-block-componentsdatastream-array-valid Req 52. Req 49 also applies to the “DataStream” class. Copyright © 2011 Open Geospatial Consortium 57