- URL:https://<imageservice-url>/computeMultidimensionalInfo
- Required Capability:Image, Catalog
- Version Introduced:10.8.1
Description
License:
As of 10.5, you must license your ArcGIS Server as an ArcGIS Image Server to use this resource.
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
Parameter | Details |
---|---|
where | A WHERE clause for the query filter. Any legal SQL WHERE clause operating on the fields in the raster catalog is allowed. Example
|
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
Example
|
time | The time instant or the time extent to query.
|
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
Example
|
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
Example
|
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
|
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:
https://machine.domain.com/webadaptor/rest/services/mynetcdf/ImageServer/computeMultidimensionalInfo?where=StdZ=4000ANDVariable='salinity'&variableFieldName=Variable&dimensionFieldNames=StdTime,StdZ&f=html
JSON Response syntax
{
"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
{
"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
}
}