Skip To Content
ArcGIS Developer

Summarize Categorical Raster


Summarize Categorical Raster

The Summarize Categorical Raster tool generates a table containing the pixel count for each class, in each slice of an input categorical raster.

You must license your ArcGIS Server as an ArcGIS Image Server to use this resource.

Request parameters



The input categorical raster. The input raster can be the Portal Item ID, Image Service URL, cloud raster dataset or shared raster dataset. This raster can also be multidimensional.

The input raster dataset must have a raster attribute table.

At least one type of input needs to be provided in the JSON object. If multiple inputs are given, the itemIds takes the priority.

Syntax: A JSON object describing the input raster(s).

Example for a single item.

{"itemId": <portal item id>}
{"url": <image service url>}
{"uri": <cloud raster uri or shared data path>}


The output table feature service name that will be created. You can specify the name, or you can create an empty service using Portal Admin Sharing API and use the return JSON object as input to this parameter.

Syntax: A JSON object describes the name of the output or the output table.




The dimension parameter is used to define dimension for datasets that do not have multidimensional information. If the input is a multidimensional raster with more than one dimension, the class summary for all scales of both dimensions is calculated.

Syntax: A String that describes the dimension.





The polygon feature layer containing the area or areas of interest to use when calculating the pixel count per category. If no area of interest is specified, the entire raster dataset will be included in the analysis. The input can be specified as a URL to a feature service layer or shared data path.

Syntax: A JSON object that describes the input.


{"itemId": <portal item id>}
{"url": <image service url or feature service url>} 
{"uri": <cloud raster uri or shared data path>}


The field in the polygon feature layer that defines each area of interest. Text and integer fields are supported.

Syntax: String representing the areaOfInterestField





Contains additional settings that affect task execution. This task has the following settings:

  • Extent (extent)—A bounding box that defines the analysis area.
  • Parallel Processing Factor (parallelProcessingFactor)—The specified number or percentage of processes will be used for the analysis.


context={"parallelProcessingFactor": "4"}

The response format. The default response format is html.

Values: html | json


When you submit a request, the task assigns a unique job ID for the transaction.


{ "jobId": "<unique job identifier>", "jobStatus": "<job status>" }

After the initial request is submitted, you can use the jobId to periodically check the status of the job and messages, as described in Check job status. Once the job has successfully completed, use the jobId to retrieve the results. To track the status, you can make a request of the following form:

http://<analysis url>/SummarizeCategoricalRaster/jobs/<jobId>

Accessing results

When the status of the job request is esriJobSucceded, you can access the results of the analysis by making a request of the following form:

http://<raster analysis url>/
?token=<your token>&f=json