Multidimensional definitions

Overview

Image services support multidimensional data. Information related to variables, dimensions are available in the Multidimensional Info resource.

Multidimensional data maybe filtered by the variable names and dimension values. A dimensional definition defines a filter for one variable and one dimension. A multidimensional definiton is an array of dimensional definition objects.

A multidimensionalDefinition parameter is supported by the Query operation, and is part of mosaic rule objects, which is used by many operations such as, Export Image, Identify, and Get Samples.

Dimensional Definition

A dimensional slice can be a single value, such as the temperature at a particular time. The variables that have such dimensions maybe filtered by any of the following:

  • Get three slices:
    Use dark colors for code blocksCopy
    1
    "values": [t1, t2, t3]
  • Get all slices between t1 and t2 (inclusive): "values":[[t1,t2]]
    Use dark colors for code blocksCopy
    1
    "values":[[t1,t2]]
  • Get all slices between t1 and t2 (inclusive) and all slices between t3 and t4 (inclusive):
    Use dark colors for code blocksCopy
    1
    "values":[[t1,t2], [t3,t4]]

A dimensional slice can be an array of two values that defines lower and upper bound, which is not common. For example, average salinity can be measured between a period of time. The variables that have such dimensions maybe filtered by any of the following:

  • Get one slice whose start of measurement is t1 and end of measurement is t2. If nothing meets both conditions, no slice is filtered:
    Use dark colors for code blocksCopy
    1
    "values": [[t1, t2]]
  • Get all slices whose start of measurement is on or after t1 OR end of measurement is on or before t2:
    Use dark colors for code blocksCopy
    1
    "values": [[t1, t2]],"isSlice":false
Use dark colors for code blocksCopy
1
2
3
4
5
6
{
  "variableName": "<variableName>",
  "dimensionName": "<dimensionName>",
  "values": [<value1>, <value2>, ...],//each element can be a single value, or an array of two values (lower and upper bound).
  "isSlice": <true | false> //default is true.
}

Multidimensional Definition

A multiple dimensional service can have multiple variables and multiple dimensions. Multiple dimensional defintions are usually used to filter data. A multidimensional definition (multidimensionalDefinition) is an array of dimensional definitions.

Multiple definitions are consolidated by server into one single where clause. The consolidation rule is:

  • For the same variableName but different dimensionName, it uses the AND operator to connect to meet all dimension conditions for the same variable.
  • For different variableName, it uses the OR operator to connect any variable that meets their dimension conditions.

The following mosaic rule object contains a multidimensional filter that filters a particular slice of Salinity data by time and z.

Example
Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
  "mosaicMethod": "esriMosaicNorthwest",
  "ascending": true,
  "mosaicOperation": "MT_FIRST",
  "multidimensionalDefinition: [
    {
      "variableName": "Salinity",
      "dimensionName": "StdZ",
      "values": [-10]
     },
     {
      "variableName": "Salinity",
      "dimensionName": "StdTime",
      "values": [1406182200000]
    }
  ]
}

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.