Next: SPV Light Member Value, Previous: SPV Light Member Categories, Up: SPV Light Detail Member Format [Contents][Index]

The final part of an SPV light member contains the actual data.

Data ⇒ int[ |

The values of `n-layers`

, `n-rows`

, and `n-columns`

each specifies the number of dimensions displayed in layers, rows, and
columns, respectively. Any of them may be zero. Their values sum to
`n-dimensions`

from Dimensions (see SPV Light Member Dimensions).

The `n-dimensions`

integers are a permutation of the 0-based
dimension numbers. The first `n-layers`

integers specify each of
the dimensions represented by layers, the next `n-rows`

integers
specify the dimensions represented by rows, and the final
`n-columns`

integers specify the dimensions represented by
columns. When there is more than one dimension of a given kind, the
inner dimensions are given first.

The format of a Datum varies slightly from version 1 to version 3: in version 1 it allows for an extra optional 00 byte.

A Datum consists of an `index`

and a Value. Suppose there are
*d* dimensions and dimension *i*, *0 \le i < d*, has
*n_i* categories. Consider the datum at coordinates *x_i*,
*0 \le i < d*, and note that *0 \le x_i < n_i*. Then the
index is calculated by the following algorithm:

letindex= 0 for eachifrom 0 tod - 1:index= (n_i \timesindex)+x_i

For example, suppose there are 3 dimensions with 3, 4, and 5
categories, respectively. The datum at coordinates (1, 2, 3) has
index *5 \times (4 \times (3 \times 0 + 1) + 2) + 3 = 33*.
Within a given dimension, the index is the `cat-index`

in a Leaf.