Standards /

WCPS-Manual / sliceExpr

The sliceExpr element extracts a spatial slice (i.e., a hyperplane) from a given coverage expression along one of its axes, specified by one or more slicing axes and a slicing posi-tion thereon. For each slicing axis indicated, the resulting coverage has a dimension re-duced by 1; its axes are the axes of the original coverage, in the same sequence, with the section axis being removed from the list. CRSs not used by any remaining axis are re-moved from the coverage's CRS set.

The slicing coordinates shall lie inside the coverage's domain.

For syntactic convenience, both array-style addressing using brackets and function-style syntax are provided; both are equivalent in semantics.

Let

C1 be a coverageExpr,
n be an integer with 0 ≤ n,
a1, ... , an be pairwise distinct axisNames with ai ∈ axisNameSet(C1) for 1 ≤ i ≤ n,
crs1, ... , crsn be pairwise distinct crsNames with crsi ∈ crsList(C1) for 1 ≤ i ≤ n,
s1, ... , sn be axisPoints for 1 ≤ i ≤ n.

Then,

for any coverageExpr C2
where C2 is one of

Cbracket = C1 [ S1, ... , Sn ]
Cfunc = slice( C1, { S1, ... , Sn } )

with

Si is one of
Simg,i = ai(Si)
pcrs,i = ai(Si)crsi

C2 is defined as follows:

Note: A server may decide to restrict the CRSs available on the result, as not all CRSs may be appropriate any more.

Note: In a future version of this document this function is likely to be .extended with multi-dimensional slicing.

Example

The following are syntactically valid, equivalent slice expressions:

C[ x(120) ]
slice( C, { x(120) } )