- URL:https://<imageservice-url>/computeStatisticsHistograms
- Required Capability:Image
- Version Introduced:10.4
Description
This operation is supported at 10.4 and later.
The computeStatisticsHistograms operation is performed on an image service resource.
This operation is supported by an image service published with mosaic datasets or a raster dataset.
The result of this operation contains both statistics and histograms computed from the given extent.
Support for the time parameter is added at 10.8. The time parameter can be used on an image service resource that uses ArcObjects11 or ArcObjectsRasterRendering as the service provider.
Support for the processAsMultidimensional parameter is added at 10.9. The processAsMultidimensional parameter can be used on an image service resource that uses ArcObjects11 or ArcObjectsRasterRendering as the service provider.
You can provide arguments to the computeStatisticsHistograms operation as query parameters defined in the parameters table below.
Request parameters
Parameter | Description |
---|---|
geometry (Required) | Defines the geometry in which the histogram is computed. The geometry can be an envelope or a polygon. The structure of the geometry is the same as the structure of the JSON geometry objects returned by the ArcGIS REST API. JSON structures: Syntax: geometry={geometry} Example: geometry={"xmin" : -109.55, "ymin" : 25.76, "xmax" : -86.39, "ymax" : 49.94, "spatialReference" : {"wkid" : 4326}} |
geometryType (Required) | The type of geometry specified by the geometry parameter. The geometry type can be an envelope or a polygon. Values: esriGeometryEnvelope | 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 specified in the root resource: defaultMosaicMethod, mosaicOperator, sortField, sortValue). See the mosaic rule JSON objects for the syntax and examples. |
renderingRule | Specifies the rendering rule for how the requested image will be rendered. See raster function JSON objects for the syntax and examples. |
pixelSize | The pixel level being used (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 histogram calculation. 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:
Examples:
|
time | The time instant or the time extent to compute statistics and histograms. Time is designated in UNIX epoch time or POSIX time in milliseconds. Time instant:
Time extent (for time extents, one of <startTime> or <endTime> can be 'null'):
|
processAsMultidimensional | Specifies whether to process the image service as a multidimensional image service. When set to true, the image service will be treated as a multidimensional raster and it will compute histograms and statistics of pixel values from all selected slices. The default is false. Syntax: processAsMultidimensional=<true|false> Example: processAsMultidimensional=true |
f | The response format. The default response format is html. Values: html | json |
Example usage
Example: Compute statistics and histograms of a mosaic dataset image service using a polygon geometry, and specify the mosaic rule using the esriMosaicAttribute method.
https://webadaptorhost.domain.com/webadaptorname/rest/services/myservice/ImageServer/computeStatisticsHistograms?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=&f=html
JSON Response syntax
{
"statistics": [<statistics1>, <statistics2>],
"histograms": [<histogram1>, <histogram2>]
}
JSON Response example
{
"statistics": [
{
"min": 10,
"max": 250,
"mean": 45.623781249999745,
"standardDeviation": 63.183071536848246,
"median": 17,
"mode": 13,
"skipX": 1,
"skipY": 1,
"count": 160000,
"sum": 7299804.999999959
},
{
"min": 10,
"max": 250,
"mean": 76.2679624999998,
"standardDeviation": 78.07187772310637,
"median": 20,
"mode": 16,
"skipX": 1,
"skipY": 1,
"count": 160000,
"sum": 1.2202873999999968E7
},
{
"min": 10,
"max": 250,
"mean": 45.623706249999785,
"standardDeviation": 63.16672024871653,
"median": 17,
"mode": 13,
"skipX": 1,
"skipY": 1,
"count": 160000,
"sum": 7299792.999999966
}
],
"histograms": [
{
"size": 251,
"min": -0.5,
"max": 250.5,
"counts": [
……
906,
861,
915,
899,
……
]
},
{
"size": 251,
"min": -0.5,
"max": 250.5,
"counts": [
……
1801,
1776,
1779,
1814,
……
]
},
{
"size": 251,
"min": -0.5,
"max": 250.5,
"counts": [
……
902,
931,
912,
877,
……
]
}
]
}