Identify (Image Service)

Description

LicenseLicense:

As of 10.5, you must license your ArcGIS Server as an ArcGIS Image Server to use this resource with a mosaic dataset.

The identify operation is performed on an image service resource. It identifies the content of an image service for a given location, mosaic rule, and rendering rule or rules. The location can be a point or a polygon.

The identify operation is supported by both mosaic dataset and raster dataset image services.

The result of this operation includes the processed pixel values of the mosaic for a given mosaic rule, a given rendering rule or rules, a resolution (pixel size), and a set of catalog items that overlap the given geometry. The single pixel value is that of the mosaic at the centroid of the specified location. If there are multiple rasters overlapping the location, the visibility of a raster is determined by the order of the rasters defined in the mosaic rule. It also contains a set of catalog items that overlap the given geometry. The catalog items are ordered based on the mosaic rule. A list of catalog item visibilities gives the percentage contribution of the item to overall mosaic.

You can provide arguments to the identify operation as query parameters defined in the following parameters table.

At 10.7, the number of catalog items and corresponding processed pixel values that are returned will also be determined by a newly added maxidentifycount image service property. By default, it will have the same value as the maxrecordcount image service property. This property is controlled at the server side and will work together with the maxItemCount parameter set by the client to determine the number of items being returned—whichever is smaller will take effect.

Request parameters

Parameter

Details

geometry

(Required)

A geometry that defines the location to be identified. The location can be a point or polygon. 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 points, you can specify the geometry with a simple comma-separated syntax.

This is a required parameter. The default geometry type is a point. By default, the geometry is assumed to be in the spatial reference of the image service. You can specify a different spatial reference by using the JSON structure syntax for geometries.

Syntax

//JSON structure
geometryType=<geometryType>&geometry={geometry}

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

Examples

geometryType=esriGeometryPoint&geometry={x: -104, y: 35.6}

geometryType=esriGeometryPoint&geometry=-104,35.6
geometryType

The type of geometry specified by the geometry parameter. The geometry type can be a point or polygon.

Values: esriGeometryPoint | esriGeometryPolygon

mosaicRule

Specifies the mosaic rule when defining how individual images should be mosaicked. When a mosaic rule is not specified, the default mosaic rule of the image service will be used (as advertised in the root resource: defaultMosaicMethod, mosaicOperator, sortField, sortValue). See the mosaic rule JSON objects for the syntax and examples.

renderingRule

Added at 10.1. Specifies the rendering rule for how the requested image should be rendered. See the raster function JSON objects for the syntax and examples.

renderingRules

Added at 10.4. Specifies an array of rendering rules. Use this parameter to get multiple processed values from different raster functions in one single request. See the raster function JSON objects for the syntax and examples of how to use raster functions.

Syntax

renderingRules=[{renderingRule1},{renderingRule2},{renderingRule3},{renderingRule4}]
pixelSize

The pixel level being identified (or the resolution being looked at). If pixel size is not specified, pixelSize will default to the base resolution of the dataset. The raster at the specified pixel size in the mosaic dataset will be used for identify.

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 a simple comma-separated syntax.

Syntax

//JSON structure
pixelSize={point}

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

Example

//JSON example
pixelSize={x: 0.18, y: 0.18}

//Point example
pixelSize=0.18,0.18
time

Added at 10.1. The time instant or time extent of the raster to be identified. This parameter is only valid if the image service supports time.

Syntax

//Time instant
time=<timeInstant>

//Time extent
time=<startTime>, <endTime>
NoteNote:

A null value specified for start time or end time will represent infinity for start or end time, respectively.

Examples

//Time instant (1 Jan 2008 00:00:00 GMT)
time=1199145600000

//Time extent (1 Jan 2008 00:00:00 GMT to 1 Jan 2009 00:00:00 GMT)
time=1199145600000, 1230768000000
returnGeometry

Added at 10.1. Indicates whether to return the raster catalog item's footprint. The parameter should be specified as false when the catalog item's footprint is not needed to improve the identify operation's response time.

Values: true | false

returnCatalogItems

Added at 10.1. Indicates whether to return raster catalog items. The parameter should be specified as false when catalog items are not needed to improve the identify operation's performance significantly. When set to false, neither the geometry nor attributes of catalog items will be returned.

Values: true | false

returnPixelValues

Added at 10.6.1. Indicates whether to return the pixel values of all mosaicked raster catalog items under the requested geometry. When false, only the pixel value of mosaicked output is needed for the requested geometry. The default value of this parameter is true.

Values: true | false

maxItemCount

If the returnCatalogItems parameter is set to true, this parameter will take effect. The default behavior is to return all raster catalog items within the requested geometry. Otherwise, the number of items returned will be the value specified in the maxItemCount or all eligible items, whichever is smaller.

Syntax

maxItemCount=<maxItemNumber>

Example

maxItemCount=2
sliceId

Added at 10.9. The slice ID of the multidimensional raster. This parameter is available if the image service uses ArcObjects11 or ArcObjectsRasterRendering as the service provider.

Syntax

sliceId=<slice ID>

Example

sliceId=1
processAsMultidimensional

Added at 10.9. Indicates whether to process the image service as a multidimensional dataset. This parameter is available if the image service uses ArcObjects11 or ArcObjectsRasterRendering as the service provider. When set to true, pixel values from all slices, along with additional properties describing the slices, will be returned. When set to false, only the pixel values of the specified rendering rules and mosaic rule at the specified geometry will be returned. This is the default.

Values: true | false

f

The response format. The default response format is html.

Values: html | json

Example usage

Example one

The following example demonstrates how to identify a single raster image service using a point geometry:

https://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Earthquakes/SanAndreasLidar/ImageServer/identify?geometry={"x":575505.5,"y":3733770}&geometryType=esriGeometryPoint&mosaicRule=&pixelSize=0.5,0.5&f=pjson

Example two

The following example demonstrates how to identify a mosaic dataset image service using a polygon geometry and specify a mosaic rule using the esriMosaicAttribute method:

https://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Portland/CascadeLandsat/ImageServer/identify?geometry={"rings": [[[-13555360.4191,5911556.581],[-13489311.5669, 5898227.932],[-13423477.4153,5884426.3329],[-13602646.9571, 5717848.4135], [-13587119.9125, 5781976.6214],[-13571360.1713, 5846543.2654],[-13555360.4191, 5911556.581]]]}&geometryType=esriGeometryPolygon&mosaicRule={"mosaicMethod" : "esriMosaicAttribute","where" : "Name NOT LIKE 'Ov%'","sortField" : "Name","mosaicOperation" : "MT_MAX"}&pixelSize={"x":14.25,"y":14.25}&f=pjson

Example three

The following example demonstrates how to identify a Landsat service to retrieve both NDVI and SAVI values:

https://myserver:6443/arcgis/rest/services/demo/LandsatPortland/ImageServer/identify?geometry=-1.3545936034400001E7,5709816.374899999&geometryType=esriGeometryPoint&mosaicRule=&pixelSize=&time=&returnGeometry=false&returnCatalogItems=false&f=pjson&renderingRules=[{ "rasterFunction" : "BandArithmetic", "rasterFunctionArguments" : { "Method" : 1, "BandIndexes" : "4 3" } }, { "rasterFunction" : "BandArithmetic", "rasterFunctionArguments" : { "Method" : 2, "BandIndexes" : "4 3 0.33" } }]

JSON Response syntax

NoteNote:

The Values property in properties contains an array of pixel values for individual rasters, arranged in the order of catalogItems (for example, {"Values":["pixelvalue_raster1","pixelvalue_raster2",...]}).

{
  "objectId": <objectId>,
  "name": "<name>",
  "value": "<pixelValue>",
  "location": <point>, //the identified location
  "properties": { //the properties of the identified object. (returned only when the image service source is from a mosaic dataset)
    "name1": <value1>,
    "name2": <value2>
  },
  "catalogItems": {  //catalogItems are returned only when the image service source is a mosaic dataset.
    "objectIdFieldName": "<objectIdFieldName>",
    "spatialReference": <spatialReference>,
    "geometryType": "<geometryType>",
    "features": [ 
      <feature1>,
      <feature2>
    ]
  },
  "catalogItemVisibilities": [ //catalogItemVisibilities are returned only when the image service source is a mosaic dataset.
    <catalogItem1Visibility>,
    <catalogItem2Visibility>
  ]
}

JSON Response examples

Example one

{
  "objectId": 0, 
  "name": "Pixel", 
  "value": "-17.5575", 
  "location": {
    "x": 575505.5, 
    "y": 3733770, 
    "spatialReference": {
      "wkid": 26911
    }
  }, "properties": null, 
  "catalogItems": null, 
  "catalogItemVisibilities": []
}

Example two

{
  "objectId": 0, 
  "name": "Pixel", 
  "value": "17, 22, 39, 45", 
  "location": {
    "x": -13527177.6374152, 
    "y": 5837991.41167063, 
    "spatialReference": {
      "wkid": 54004
    }
  }, 
  "properties": {
    "Values": [
      "10 18 34 43", //band values are space delimited
      "17 22 39 45"
    ]
  }, 
  "catalogItems": {
    "objectIdFieldName": "OBJECTID", 
    "spatialReference": {
      "wkid": 54004
    }, 
    "geometryType": "esriGeometryPolygon", 
    "features": [
      {
        "geometry": {
          "rings": [
            [
              [-13460551.7089, 5854521.5319], 
              [-13478287.1495, 5790460.0595], 
              [-13495758.3317, 5726819.8268], 
              [-13512973.0996, 5663593.4924], 
              [-13529939.0436, 5600773.8464], 
              [-13593636.8922, 5614581.7474], 
              [-13657532.2448, 5627959.8481], 
              [-13721616.7496, 5640902.1352], 
              [-13785881.8549, 5653402.7833], 
              [-13770610.5633, 5717098.1159], 
              [-13755121.9097, 5781227.8467], 
              [-13739408.9372, 5845800.1358], 
              [-13723464.45, 5910823.3172], 
              [-13657416.2669, 5897455.1875], 
              [-13591575.2527, 5883610.99], 
              [-13525950.7118, 5869297.4578], 
              [-13460551.7089, 5854521.5319]
            ]
          ]
        }, 
        "attributes": {
          "OBJECTID": 6, 
          "Name": "p046r028_7t19990907.met;p046r028_7t19990907.met", 
          "MinPS": 0, 
          "MaxPS": 28.5, 
          "LowPS": 14.25, 
          "HighPS": 114, 
          "Category": 1, 
          "Tag": "Pansharpened", 
          "GroupName": "p046r028_7t19990907", 
          "ProductName": "Level1", 
          "CenterX": -13624980.3112093, 
          "CenterY": 5756154.02144619, 
          "ZOrder": null, 
          "SOrder": null, 
          "StereoID": "", 
          "SensorName": "Landsat-7-ETM+", 
          "AcquisitionDate": 936662400000, 
          "SunAzimuth": 150.8831799, 
          "SunElevation": 46.5205819, 
          "CloudCover": 0, 
          "Shape_Length": 1058133.67231272, 
          "Shape_Area": 69904833443.6272
        }
      }, 
      {
        "geometry": {
          "rings": [
            [
              [-13292489.9099, 5855431.779], 
              [-13310286.7337, 5791381.4753], 
              [-13327810.7467, 5727748.1244], 
              [-13345069.9061, 5664524.4905], 
              [-13362071.9117, 5601703.4638], 
              [-13425742.0169, 5615460.9307], 
              [-13489617.0175, 5628791.9699], 
              [-13553688.6321, 5641690.4875], 
              [-13617948.3761, 5654150.574], 
              [-13602646.9571, 5717848.4135], 
              [-13587119.9125, 5781976.6214], 
              [-13571360.1713, 5846543.2654], 
              [-13555360.4191, 5911556.581], 
              [-13489311.5669, 5898227.932], 
              [-13423477.4153, 5884426.3329], 
              [-13357867.1993, 5870158.6064], 
              [-13292489.9099, 5855431.779]
            ]
          ]
        }, 
        "attributes": {
          "OBJECTID": 2, 
          "Name": "p045r028_7t19991002.met;p045r028_7t19991002.met", 
          "MinPS": 0, 
          "MaxPS": 28.5, 
          "LowPS": 14.25, 
          "HighPS": 114, 
          "Category": 1, 
          "Tag": "Pansharpened", 
          "GroupName": "p045r028_7t19991002", 
          "ProductName": "Level1", 
          "CenterX": -13456998.9817332, 
          "CenterY": 5756986.51347787, 
          "ZOrder": null, 
          "SOrder": null, 
          "StereoID": "", 
          "SensorName": "Landsat-7-ETM+", 
          "AcquisitionDate" : 938822400000, 
          "SunAzimuth": 157.6031865, 
          "SunElevation": 37.975699, 
          "CloudCover": 50, 
          "Shape_Length": 1058012.72377166, 
          "Shape_Area": 69884678121.7441
        }
      }
    ]
  }, 
  "catalogItemVisibilities": [
    0.671180049953907, 
    0.328819950035319
  ]
}

Example three

{
  "objectId": 0,
  "name": "Pixel",
  "value": "706.54",
  "location": {
    "x": 1446235.4901735431,
    "y": 542459.48741523956,
    "spatialReference": {
      "wkid": 102719,
      "latestWkid": 2264
    }
  },
  "properties": null,
  "catalogItems": null,
  "catalogItemVisibilities": []
}

Example four

{
  "objectId": 0,
  "name": "Pixel",
  "value": "54, 39, 24, 112, 38, 18",
  "location": {
    "x": -13545936.034400001,
    "y": 5709816.3748999992,
    "spatialReference": {
      "wkid": 102100,
      "latestWkid": 3857
    }
  },
  "properties": null,
  "catalogItems": null,
  "catalogItemVisibilities": [],
  "processedValues": [
    "0.647059",
    "0.858505"
  ]
}