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

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

1
objectIds=<objectId1>, <objectId2>

Example

1
objectIds=37, 462

time

The time instant or the time extent to query.

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

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

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

1
2
3
4
5
//JSON structure
pixelSize={point}

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

Example

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

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:

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

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

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.

You can no longer sign into this site. Go to your ArcGIS portal or the ArcGIS Location Platform dashboard to perform management tasks.

Your ArcGIS portal

Create, manage, and access API keys and OAuth 2.0 developer credentials, hosted layers, and data services.

Your ArcGIS Location Platform dashboard

Manage billing, monitor service usage, and access additional resources.

Learn more about these changes in the What's new in Esri Developers June 2024 blog post.

Close