- URL:https://<rasteranalysistools-url>/SurfaceParameters
- Version Introduced:11.0
Description
The SurfaceParameters task determines parameters of a surface raster such as various types of curvatures, slope, and aspect.
Example applications of SurfaceParameters include the following:
- Calculate different types of curvatures. An example is TANGENTIAL_CURVATURE, which characterizes topographic convergence and divergence of flow across the surface.
- Calculate aspect and slope using geodesic methods.
Request parameters
The following table lists the parameters with syntax and details for each:
Parameter | Details |
---|---|
inputSurfaceRaster (Required) | The input surface raster. 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:
|
parameterType | Specify the surface parameter type that will be computed. Syntax: The input can be one of the following:
Example:
|
localSurfaceType | Specify the type of surface function that will be fitted around the target cell. Syntax: A string describing the local surface type to be fitted. The following are the available local surface types:
Example:
|
neighborhoodDistance | The output will be calculated over this distance from the target cell center. It determines the neighborhood size. The default value is the input raster cell size, resulting in a 3 by 3 neighborhood. Syntax: A linear unit specifying the distance and units. Supported units: Kilometers | Meters | Decimeters | Centimeters | Millimeters | Nautical Miles | Miles | Yards | Feet | Inches | Decimal Degrees | Points Example:
|
useAdaptiveNeighborhood | Specify whether the neighborhoodDistance value will vary with landscape changes (adaptive). The maximum distance is determined by the neighborhood distance. The minimum distance is the input raster cell size. Syntax: A Boolean value as either true or false.
|
zUnit | Specify the linear unit of vertical z-values. It is defined by a vertical coordinate system if it exists. If a vertical coordinate system does not exist, it is recommended that you define the z-unit from the unit list to ensure correct geodesic computation. The default is meter. Syntax: A string specifying the unit of vertical z-values.
Example:
|
outputSlopeMeasurement | Specify the measurement units that will be used for the output slope raster. This parameter is only applicable when the parameterType value is SLOPE. Syntax: A string specifying the slope measurement units.
Example:
|
projectGeodesicAzimuths | Specify whether geodesic azimuths will be projected to correct the angle distortion caused by the output spatial reference. This parameter is only applicable when the parameterType value is ASPECT. Syntax: A Boolean value as either false or true.
|
useEquatorialAspect | Specify whether geodesic azimuths will be projected to correct the angle distortion caused by the output spatial reference. This parameter is only applicable when the parameterType value is ASPECT. Syntax: A Boolean value as either false or true.
|
inputAnalysisMask | The input data defining the locations where the analysis will occur. It can be a raster or feature. If the input is a raster, it can be integer or floating-point type. If the input is feature data, it can be point, line, or polygon type. When the input mask data is a raster, the analysis will occur at locations that have a valid value, including zero. Cells that are NoData in the mask input will be NoData in the output. |
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>/SurfaceParameters/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>/SurfaceParameters/jobs/<jobId>/results/<output parameters>
Example usage
The following is a sample request URL for SurfaceParameters:
https://services.myserver.com/arcgis/rest/services/System/RasterAnalysisTools/GPServer/SurfaceParameters/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"
}
}