- URL:https://<rasteranalysistools-url>/SummarizeRasterWithin
- Version Introduced:10.5
Description
The SummarizeRasterWithin task summarizes the cells of a raster within the boundaries of zones defined by another dataset.
You can think of SummarizeRasterWithin as taking two layers, one that defines specific zones and another that defines the value of each location across the whole area, and calculating some summary statistic for all of the values that fall within each particular area. The layer that defines the areas, inputZoneLayer, is a raster or feature dataset that defines the boundaries of each of the zones for which summary values will be calculated. If the zone layer is a raster, it must have an integer data type. The area defining the values, the inputRasterLayertoSummarize, is a raster dataset recording the value of some particular property at each location.
The statistic can report such properties as the sum of all the values in each area, the maximum value, or the average value. The statisticType can be calculated based on some mathematical function, the result of a sorting operation on the values, or an indication of the frequency values.
Some example applications of SummarizeRasterWithin include the following:
- Calculate the total acreage of land-use type for each watershed when given a layer of watershed boundaries and a layer of land-use boundaries by land-use type.
- Summarize the average value of vacant parcels within each city boundary when given a layer of parcels in a county and a layer of city boundaries.
Request parameters
Parameter | Details |
---|---|
inputZoneLayer (Required) | The layer the defines the boundaries of the zones. Syntax: This parameter can have either a raster input or a feature input. For raster input, this parameter can be specified as a portal item ID, a URL to a raster image service layer, a cloud raster dataset, or a shared raster dataset. For feature input, this parameter can be specified as either a URL to a feature service layer or a feature collection. Raster input examples:
Feature input examples:
|
zoneField (Required) | A field on the inputZoneLayer that holds the values that define each zone. It can be an integer or a string field of the zone dataset. Example:
|
inputRasterLayertoSummarize (Required) | Choose the raster layer you want to summarize by the zones defined by the inputZoneLayer. Syntax: This parameter can be specified as a portal item ID, a URL to a raster image service layer, a cloud raster dataset, or a shared raster dataset. Examples:
|
outputName (Required) | The name of the output image service 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 raster. Output name example:
Output raster examples:
|
statisticType | The statistical summary type that you want to calculate for all the cells within each zone of the feature in the inputRasterLayertoSummarize. Syntax: The input can be one of the following:
If the inputRasterLayertoSummarize is floating-point type, the zonal calculations for MAJORITY, MINORITY, and VARIETY cannot be computed. Example:
|
ignoreMissingValues | Specify whether missing values in the raster layer to summarize will influence the results of the areas they fall within. Syntax: A Boolean value as either true or false.
Example:
|
processAsMultidimensional | Specifies how the input rasters will be processed if they are multidimensional. Syntax: A Boolean value as either true or false.
Example:
|
percentileValue | Specifies the percentile value to calculate. The default is 90, for the 90th percentile. The values can range from 0 to 100. The 0th percentile is essentially equivalent to the minimum statistic, and the 100th percentile is equivalent to the maximum. A value of 50 will produce approximately the same result as the median statistic. This option is only supported if the statisticsType parameter is set to PERCENTILE. Syntax: A Double value that can range from 0 to 100. Example:
|
percentileInterpolationType | Specifies the method of percentile interpolation to be used when the number of values from the input raster to be calculated is even.
Example:
|
calculateCircularStatistics | Specifies how the statistics type will be calculated. Syntax: A Boolean value as either true or false.
Example:
|
circularWrapValue | Specifies the highest possible value (upper bound) in the cyclic data. It is a positive number, with a default value of 360. This value also represents the same quantity as the lowest possible value (lower bound). This parameter is applicable only when circular statistics are calculated. |
context | Contains additional settings that affect task processing. This task has the following settings:
|
f | The response format. The default response format is html. Values: html | json | pjson |
Response
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 Checking job status. Once the job has successfully completed, you use the jobId to retrieve the results. To track the status, you can make a request of the following form:
https://<raster analysis tools url>/SummarizeRasterWithin/jobs/<jobId>
When the status of the job request is esriJobSucceeded, you can access the results of the analysis by making a request of the following form:
https://<raster analysis tools url>/SummarizeRasterWithin/jobs/<jobId>/results/outputRaster
Example usage
Below is a sample request URL for SummarizeRasterWithin.
https://services.myserver.com/arcgis/rest/services/System/RasterAnalysisTools/GPServer/SummarizeRasterWithin/submitJob
JSON Response syntax
The response returns the outputRaster output parameter, which has properties for parameter name, data type, and value. The content of value is always the output raster dataset itemId and the image service URL.
{
"paramName": <parameter name>,
"dataType": "GPString",
"value": {
"itemId": <item Id>,
"url": <URL>
}
}
JSON Response example
{
"paramName": "outRaster",
"dataType": "GPString",
"value": {
"itemId": "f121390b85ef419790479fc75b493efd",
"url": "https://<server name>/arcgis/rest/services/Hosted/<service name>/ImageServer"
}
}