Identify (Image Service)
- URL:https://<imageservice-url>/identify
- Required Capability:Image
- Version Introduced:10.0
Description
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
Examples
|
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
|
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
Example
|
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
Note: A null value specified for start time or end time will represent infinity for start or end time, respectively. Examples
|
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
Example
|
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
Example
|
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
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"
]
}