Interpolate Points

Interpolate Points diagram

This task allows you to predict values at new locations based on measurements from a collection of points. The tool takes point data with values at each point and returns a raster of predicted values.

Some examples of interpolating rasters from point data are:

Request URL

http://<raster analysis url>/InterpolatePoints/submitJob

Request Parameters

Following is the list of parameters with syntax and details for each.

Parameter

Description

inputPointFeatures

(Required)

The point layer that contains the points where the values have been measured.

Syntax: This parameter can be specified as:

  • a URL to a feature service layer with an optional filter to select specific features
  • a feature collection.

Examples:

  • "inputPointFeatures":{"url": <feature service layer url>, "filter": <where clause>}
  • "inputPointFeatures":{"layerDefinition": {}, "featureSet": {}, "filter": <where clause>}

interpolateField

(Required)

Provide the field whose values you wish to interpolate. The field must be numeric.

Domain: Integer or float field

Syntax: A string that represents a field name.

Example:

  • "interpolateField": "myField"

outputName

(Required)

This is the output image service name that will be created.

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

You can specify the name or you create an empty service using Portal Admin Sharing API and use the return JSON object as input to this parameter.

Output name example:

"outputName":{"serviceProperties":{"name":"testrasteranalysis"}}

Output raster example:

"outputName":{"itemId": <portal item id>}
"outputName":{"url": <image service url}
"outputName":{"serviceProperties":{"name":"testrasteranalysis","serviceUrl":"http://<server name>/server/rest/services/Hosted/testrasteranalysis/ImageServer"}, "itemProperties":{"itemId":"8cfbd3ec25584d0d8f4ed23b8ff7c43b","folderId":"sdfwerfbd3ec25584d0d8f4"}}

optimizeFor

Choose your preference for speed versus accuracy. More accurate predictions take longer to calculate. This parameter alters the default values of several other parameters of Interpolate Points in order to optimize speed of calculation, accuracy of results, or a balance of the two.

Syntax: The optimization method can be one of the following:

  • SPEED — The interpolation algorithm is optimized for performance.
  • BALANCE — The interpolation is performed with a balance between performance and accuracy.
  • ACCURACY — The algorithm is optimized towards the most accurate result.

Default:BALANCE

Example:

  • "optimizeFor": "ACCURACY"

transformData

Choose whether to transform your data to the normal distribution. Interpolation is most accurate for data that follow a normal (bell-shaped) distribution. If you data does not appear to be normally distributed, you should perform a transformation.

Syntax: The transformation method can be one of the following:

  • False — No transformation will be applied. This is suitable for data that is naturally normally distributed.
  • True — If your data is not normally distributed, this option will apply a suitable transformation to it.

Default: false

Example:

  • "transformData": "True"

sizeOfLocalModels

Interpolate Points works by building local interpolation models that are mixed together to create the final prediction map. This parameter controls how many points will be contained in each local model. Smaller values will make results more local and can reveal small-scale effects, but it may introduce some instability in the calculations. Larger values will be more stable, but some local effects may be missed.

Syntax: The value can range from 30 to 500.

Example:

  • "sizeOfLocalModels": "70"

numberOfNeighbors

Predictions are calculated based on neighboring points. This parameter controls how many points will be used in the calculation. Using a larger number of neighbors will generally produce more accurate results, but the results take longer to calculate.

Syntax: This value can range from 1 to 64, but typical values are from 5 to 15.

Example:

  • "numberOfNeighbors": "10"

outputCellSize

Specify the cell size to use for the output raster.

Domain: Meters, Kilometers, Feet, Miles

Default: Same as the analysis environment

Example: "outputCellSize": {"distance":"60","units":"Meters"}

outputPredictionError

Choose whether you want to create a raster of standard errors for the predicted values.

Values: True | False

  • True: The standard error raster will be generated.
  • False: The standard error raster will not be generated. This is the default.

Default: False

Example: "outputPredictionError": "True"}

context

Context contains additional settings that affect task execution.

For this tool, there are five settings.

  • Extent (extent) — a bounding box that defines the analysis area. Only those areas in the inputZoneLayer that intersect the bounding box will have the statistics calculated.
  • Output Spatial Reference (outSR) — the output raster will be projected into the output spatial reference.
  • Snap Raster (snapRaster) — the output raster will have its cells aligned with the specified snap raster.
  • Cell Size (cellSize) — the output raster will have the resolution specified by cell size
  • Mask (mask) — only cells that fall within the analysis mask will be considered in the operation.

f

The response format. The default response format is html.

Values: html | json

Response

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

Syntax:

{
"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 the topic Checking job status. Once the job has successfully completed, you use the jobId to retrive the results. To track the status, you can make a request of the following form:

http://<raster analysis url>/InterpolatePoints/jobs/<jobId>

Accessing results

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:

http://<analysis url>/jobs/<jobId>/results/outputRaster?token=<your token>&f=json
http://<analysis url>/jobs/<jobId>/results/outputErrorRaster?token=<your token>&f=json

Parameter

Description

outputRaster

This is the raster of predicted values.

Example:

{"url": 
"http://<raster analysis url>/InterpolatePoints/jobs/<jobId>/results/outputRaster"}

The result has properties for parameter name, data type, and value. The contents of value is always the output raster dataset's itemid and the image service URL. For example:

{
    "paramName": "outRaster",
    "dataType": "GPString",
    "value": {
        "itemId": "f121390b85ef419790479fc75b493efd", 
        "url": "https://<server name>/arcgis/rest/services/Hosted/<service name>/ImageServer"
    } 
}

outputErrorRaster

This is the raster of the standard errors of the predicted values.

Example:

{"url": 
"http://<raster analysis url>/InterpolatePoints/jobs/<jobId>/results/outputErrorRaster"}

The result has properties for parameter name, data type, and value. The contents of value is always the output raster dataset's itemid and the image service URL. For example:

{
    "paramName": "outRaster",
    "dataType": "GPString",
    "value": {
        "itemId": "f121390b85ef419790479fc75b493efd", 
        "url": "https://<server name>/arcgis/rest/services/Hosted/<service name>/ImageServer"
    } 
}

Related topics

7/5/2017