Compute Multidimensional Info

URL:
https://<imageservice-url>/computeMultidimensionalInfo
Methods:
GET
Required Capability:
Image, Catalog
Version Introduced:
10.8.1

Description

The computeMultidimensionalInfo operation is performed on an image service of a mosaic dataset. Use it for constructing a multidimensional info object based on its catalog table. It should be used when the source mosaic dataset doesn’t include multidimensional properties and the hasMultidimensions property of the image service is false . This image service operation is available if the image service uses ArcObjects11 or ArcObjectsRasterRendering as the service provider.

You can provide arguments to the computeMultidimensionalInfo operation as parameters defined in the parameters table below.

Request parameters

ParameterDetails

where

A WHERE clause for the query filter. Any legal SQL WHERE clause operating on the fields in the raster catalog is allowed.

Example

Use dark colors for code blocksCopy
1
where=POP2000 > 350000

objectIds

The object IDs of the raster catalog to be queried. When this parameter is specified, any other filter parameters (including where) are ignored.

When this parameter is specified, setting returnIdsOnly as true is invalid.

Syntax

Use dark colors for code blocksCopy
1
objectIds=<objectId1>, <objectId2>

Example

Use dark colors for code blocksCopy
1
objectIds=37, 462

time

The time instant or the time extent to query.

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
Time instant
Syntax: time=<timeInstant>
Example: time=1199145600000 (1 Jan 2008 00:00:00 GMT)
Time extent (For time extents, one of <startTime> or <endTime> could be 'null').
Syntax: time=<startTime>, <endTime>
Example: time=1199145600000, 1230768000000 (1 Jan 2008 00:00:00 GMT to 1 Jan 2009 00:00:00 GMT)
A null value specified for startTime or endTime will represent infinity for start or end time, respectively.

geometry

The geometry to apply as the spatial filter. The structure of the geometry is the same as the structure of the JSON geometry objects returned by the ArcGIS REST API. In addition to the JSON structures, for envelopes and points, you can specify the geometry with a comma-separated syntax.

Syntax

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
//JSON structure
geometryType=<geometryType>&geometry={geometry}

//Envelope simple syntax
geometryType=esriGeometryEnvelope&geometry=<xmin>,<ymin>,<xmax>,<ymax>

//Point simple syntax
geometryType=esriGeometryPoint&geometry=<x>,<y>

Example

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
//JSON
geometryType=esriGeometryEnvelope&geometry={xmin: -104, ymin: 35.6, xmax: -94.32, ymax: 41}

//Envelope
geometryType=esriGeometryEnvelope&geometry=-104,35.6,-94.32,41

//Point
geometryType=esriGeometryPoint&geometry=-104,35.6

geometryType

The type of geometry specified by the geometry parameter. The geometry type can be envelope, point, line, or polygon. The default geometry type is envelope.

Values: esriGeometryPoint | esriGeometryMultipoint | esriGeometryPolyline | esriGeometryPolygon | esriGeometryEnvelope

inSR

The spatial reference of the input geometry . The spatial reference can be specified as either a well-known ID or a spatial reference JSON object. If inSR is not specified, the geometry is assumed to be in the spatial reference of the service.

spatialRel

The spatial relationship to be applied to the input geometry while performing the query. The supported spatial relationships include intersects, contains, envelope intersects, within, and so on. The default spatial relationship is intersects (esriSpatialRelIntersects ).

Values: esriSpatialRelIntersects | esriSpatialRelContains | esriSpatialRelCrosses | esriSpatialRelEnvelopeIntersects | esriSpatialRelIndexIntersects | esriSpatialRelOverlaps | esriSpatialRelTouches | esriSpatialRelWithin

pixelSize

This parameter was added at 10.8.1. Query visible rasters at a given pixel size. If pixelSize is not specified, rasters at all resolutions can be queried.

The structure of the pixelSize parameter is the same as the structure of the point object returned by the ArcGIS REST API. In addition to the JSON structure, you can specify the pixel size with comma-separated syntax.

Syntax

Use dark colors for code blocksCopy
1
2
3
4
5
//JSON structure
pixelSize={point}

//Point simple syntax
pixelSize=<x>,<y>

Example

Use dark colors for code blocksCopy
1
2
3
4
5
//JSON example
pixelSize={"x": 0.18, "y": 0.18}

//Point example
pixelSize=0.18,0.18

variableFieldName

(Required)

The column name of the raster catalog table that represents the variable names of multidimensional info.

dimensionFieldNames

(Required)

The column name of the raster catalog table that represents the dimension names of multidimensional info.

rasterQuery

This parameter was added at 10.8.1. Make a query based on key properties of each raster catalog item. Any legal SQL WHERE clause operating on the key properties of raster catalog items is allowed.

Example

Use dark colors for code blocksCopy
1
LANDSAT_WRS_PATH >= 150 AND LANDSAT_WRS_PATH<= 165

f

The response format. The default response format is html .

Values: html | json | pjson

Example usage

Below is a sample request URL that demonstrates how to construct multidimensional info for selected raster catalog items with Variable columns as variable field names, and StdTime and StdZ columns as dimension field names:

Use dark colors for code blocksCopy
1
https://machine.domain.com/webadaptor/rest/services/mynetcdf/ImageServer/computeMultidimensionalInfo?where=StdZ=4000ANDVariable='salinity'&variableFieldName=Variable&dimensionFieldNames=StdTime,StdZ&f=html

JSON Response syntax

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
  "multidimensionalInfo": {
    "variables": [
      {
        "name": <variable>, //string
        "dimensions": [
          {
            "name": <name>, //string
            "field": <field>, //string. The corresponding field/attribute name
            "extent": [<extent_from>,<extent_to>], //the extent of dimension values, the element type depends on the dimension's field type, can be time, or double
            "hasRanges":<true | false>, //boolean, indicates whether the dimension value has both lower and upper bounds.
            "values": [<value1>,...], //array of values. If hasRanges is false, each element is one single value; if hasRanges is true, each element is an array of lower/upper bounds
            "hasRegularIntervals": <true| false>, //boolean
            "interval": <interval>, //double
            "intervalUnit": <unit>, //string (e.g. "Months", "Years", "Days", "Hours")
          },
          ...
        ]
      },
      ...
    ]
  }
}

JSON Response example

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{
  "multidimensionalInfo": {
    "variables": [
      {
        "name": "salinity",
        "dimensions": [
          {
            "name": "StdTime",
            "field": "StdTime",
            "interval": 3,
            "hasRegularIntervals": true,
            "intervalUnit": "Hours",
            "extent": [
              1363478400000,
              1363554000000
            ],
            "hasRanges": false,
            "values": [
              1363478400000,
              1363489200000,
              1363500000000,
              1363510800000,
              1363521600000,
              1363532400000,
              1363543200000,
              1363554000000
            ]
          },
          {
            "name": "StdZ",
            "field": "StdZ",
            "extent": [
              -4000,
              -4000
            ],
            "hasRanges": false,
            "values": [-4000]
          }
        ]
      }
    ],
    "layout": 1
  }
}

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